我正在尝试验证来自电子邮件激活链接的查询字符串,用Classic ASP编写。
查询字符串输入包含数字,字母和2个正斜杠。像这样: G3hEus87YK/6738/HE347sxThH
我需要验证它,检查是否只使用了数字,字母和斜杠。
斜杠之间的数字可能是1-9位数,这里我以4为例,但斜线前面总共有10个字母数字字符,后面有10个字母数字字符。
到目前为止,我已经完成了这项工作,这将会运行检查,但我不确定要提供哪种模式!
Function validateToken(token)
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Pattern = "???????????"
validateToken = regEx.Test(Trim(Request.QueryString("token")))
End Function
我对数字和字母的尝试只有,[A-z][0-9]
,但寻找2个斜线让我感到困惑。我怎么能找到斜杠?
我想如果我用纯英文写这个模式,那就是:
答案 0 :(得分:1)
“斜线前总共有10个字母数字字符,”
之后有10个字母数字字符
假设[a-z\d]{10}
已启用,十个字母数字字符为IgnoreCase
。
“斜杠之间的数字可能是1-9位长”
那将是\d{1,9}
,所以最终的模式非常简单:
regEx.Pattern = "^[a-z\d]{10}/\d{1,9}/[a-z\d]{10}$"
^
和$
在模式之前或之后禁止任何内容。
答案 1 :(得分:1)
请尝试使用以下表达式:
^(([A-z\d]{10})/(\d{1,9})/([A-z\d]{10}))$