我用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
好的。谢谢。这就说得通了。 – runners3431
如果回答您的问题,请注册并接受它作为答案。如果您描述了您所做的/测试的内容以及您的解决方案是什么,那么我也会对这个项目的未来读者有所帮助。 – MikeC