2017-01-20 10 views
3

jqueryの検証で強力なパスワードを作成しています。私は特殊文字の条件を書いたが、それは動作していない。私は以下のように努力しています。特殊文字に対してJqueryの検証が機能しない

"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$])[0-9a-zA-Z]{8,}$/, 
"alertText": "*Password should contain atleast one special character,one number and one upper case letter", 

(?=.*[[email protected]#$])コードの一部に問題があります。この正規表現を削除すると正常に動作しますが、特殊文字は検証されません。 (?=.*[[email protected]#$])を入力しても何も検証されません。常にエラーポップアップが表示されます。私はこの部分について(?=.*[[email protected]#$])についてはわかりません。

+0

最後に文字クラスに '!@#$'を追加してください。 –

+0

このJSコードはクライアントでのみ使用され、簡単に無効にできます。サーバー上のパスワードも確認する必要があります。 –

答えて

2

パターンの末尾にある消費文字クラス([0-9a-zA-Z])は、先読み文字の(?=.*[[email protected]#$])で必要な特殊文字と一致しません。 [email protected]#$文字をそこに追加してください:

"regex": /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$])[[email protected]#$]{8,}$/ 
                   ^^^^ 
+1

魅力のように働いています。ありがとうございました。 –

関連する問題