【发布时间】:2016-04-28 16:57:04
【问题描述】:
我在 SO 的帮助下创建了一个基于 RegEx 的验证,并将其传递给我的同事,解释了需要它的原因(将其称为白名单)。然后,同事继续更改我的代码(坚持他们所谓的黑名单)并修改了 RegEx。下面列出了每种方法对应的代码。验证应确保只允许使用连字符、数字、空格和字母。我想知道
- 哪些代码片段实现了这一点?
- 如何破解我同事的密码?
- 黑名单只是条件倒置的白名单吗?
我同事的代码:
objRegExp.Pattern= "[^-A-Za-z0-9'&(). ]"
if objRegExp.Test(strInput) then
FoundSpecialChar= true
exit function
end if
FoundSpecialChar= false
Set objRegExp = Nothing
我的代码:
objRegExp.Pattern= "^[-A-Za-z0-9\s'&().]+"
if objRegExp.Test(strInput) then
FoundSpecialChar= false
exit function
end if
FoundSpecialChar= true
Set objRegExp = Nothing
【问题讨论】: