Lua白名单,用于清理和允许干净的URL字符串

所以我试图想出一种方法,只允许干净的URL,并且如果它包含任何不该有的字符,则将字符串清空。

我想要的URL字符白名单

A-Z a-z 0-9 _ - . /

Lua代码示例:

local bar = "com/url/index.php/html/path/stuff.html.html123/..lol"
bar = bar:gsub("%.html.*$","")
bar = bar:gsub("%/$","")
bar = bar:gsub("%.$","")
print(bar)
--TODO: 如果不在白名单中,则将bar清空
bar = ""

干净的输出:

com/url/index.php/html/path/stuff

脏输出:(这是我想要摆脱的,因为它包含不在白名单中的字符或多个不必要的斜杠)

com/url///////index.php/html//////path///////stuff

com/url///////+index.php/=html//////path///////stuff@[
点赞
用户107090
用户107090

我不确定你的意思。试试这个。

如果bar:gsub("[A-Za-z0-9_%-%./]","")=="" then
    --bar 是ok的
else
    bar=""
end
2018-08-16 14:11:33