我用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