我知道這已經被問過,但我發現的所有答案在某些情況下無法正常工作。Jquery或JS:如何檢查字符串上的無效字符?
我需要驗證密碼字段,並只允許某些字符。
驗證在客戶端和服務器端完成。在PHP上,我也無法得到所需的正則表達式,所以我所做的就是將密碼拆分爲一個字符數組,然後檢查每個字符與允許的字符數組。如果任何char不在數組中,則返回false。
允許的字符是0-9,a-z,A-Z和`! '?%%& *()_ - + = {[}]:; @〜#| <,>。'/ \ 「T數字如何做到這一點。
正則表達式是無法正常工作,因爲它的時候有沒有無效字符(可能是因爲字符順序?)有時會失敗 目前正則表達式,我從這個網站得到的是
/^[A-Za-z\s`[email protected]#$%^&*()+={}|;:'",.<>\/?\\-]+$/
所以,有效密碼可以是,例如
urjv()$%...84
40#"!!mbn'"{}
890$%/\|`doc
,-=?wht(!{})=
在JS上有沒有其他的解決方案,或者正則表達式實際上是錯誤的?
感謝您的幫助!
你可以指定其中「某些情況下」的表達不工作? – 2012-03-27 02:28:57
什麼不起作用?你能給出一個有效和無效的測試樣本嗎? – Joseph 2012-03-27 02:28:59
爲什麼不能應用您在PHP端使用的相同方法,並將輸入的每個字符與數組匹配? – 2012-03-27 02:31:28