正規表現のパスワードはどのように書くには?
私は、パスワードを確認するために、正規表現を必要とします:
パスワードは、8文字以上が含まれている少なくとも一つの番号が含まれ、同時に、小文字と大文字や特殊文字が含まれている、など#
、?
、!
)
古いパスワードやユーザー名を含めることはできません、"password"
または"websitename"
大文字、小文字1と1つの番号または特殊文字を含む8つの文字、:ここで制限するために使用私の検証式は、あります。
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
だから、どのように大文字、特殊文字や英数字を含め、定期的に、禁止するパスワードは8つの文字でなければなりません書くには?
ベストソリューション
少なくとも8つの文字、少なくとも1つの文字と1つの番号:
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"
少なくとも8つの文字、少なくとも1つの文字、1つのナンバーと一つの特殊文字:
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$"
少なくとも8つの文字、少なくとも一つの大文字、小文字1つの文字と数字:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
少なくとも8つの文字、少なくとも一つの大文字、小文字1、1つのナンバーと一つの特殊文字:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"
8〜10文字までの最小、少なくともひとつの大文字、小文字1、1つのナンバーと一つの特殊文字:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}"
第二に最高のソリューション
あなたは、この正規表現を使用することができます。
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
この正規表現は、これらのルールを適用します:
-
少なくとも一つの大文字英語の手紙、
(?=.*?[A-Z])
-
少なくとも一つの小文字、
(?=.*?[a-z])
-
少なくとも1つの数字、
(?=.*?[0-9])
-
少なくとも一つの特殊文字、
(?=.*?[#?!@$%^&*-])
-
8の最小の長さ
.{8,}
(ベルトアンカ)
第三ソリューション
正規表現は、AND演算子ではないので、正規表現にマッチする、効率的なコードを書く妥当性が何かある場合は特に、非常に困難であるAND
ような時間の定義として、他の...
しかし、正規表現はこれだけドモルガンの定理を使って、正規表現が無効であると一致するパスワードを記述し、OR演算子を持っています:
8つの文字または全く大文字や小文字、または任意の文字列なしなしなしなし任意のデジタルまたは未満のものは、特殊文字ではありません。
そう:
^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$
あなたが正規表現に一致することができた場合、それは無効なパスワードです。
第四のアイデア
小さな改善最良の答えの一つペア:そのための特殊文字のキーボードのは、どんな特殊文字を表現するために使用することができ、特殊文字に制限されています。
^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$
この正規表現は、これらのルールを適用します:
-
少なくとも一つの大文字
-
少なくとも一つの小文字
-
少なくとも一桁
-
少なくとも一つの特殊文字
-
少なくとも8つの文字
第五のアイデア
私の環境では、行うための最善の答えに基づいて、私はいくつかの困難がありました。たとえば、文字;
や[
認証は失敗します。私は、特殊文字の私のホワイトリストを望んでいないので、私は使用[^\w\s]
テストとして-ちょうど(数字を含む)非マッチング文字と非空白文字を配置します。すべてのすべてで、このアプローチは、私のために、より効果的です...
-
少なくとも
8
文字 -
少なくとも
1
数字 -
少なくとも
1
小文字 -
少なくとも
1
大文字で -
少なくとも
1
特殊文字
/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/
リンクJSFiddle -シンプルなカバー状況のデモの様々な
第六のアイデア
インポートJavaScriptファイルjquery.validate.min.js
。
あなたは、次のメソッドを使用することができます。
$.validator.addMethod("pwcheck", function (value) {
return /[\@\#\$\%\^\&\* \_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value) });
この正規表現は、表現することができます。
-
少なくとも一つの大文字
-
少なくとも一つの小文字
-
少なくとも一桁
-
少なくとも一つの特殊文字
セブンスアイデア
以下の条件を満たしています:
-
少なくとも6つの文字
-
少なくとも一つの大文字
-
少なくとも一つの小文字
-
少なくとも一つの特殊文字
正規表現:
"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&.])[A-Za-z\d$@$!%*?&.]{6, 20}/"
以下の条件が満たされているとオプションの特殊文字があります:
-
少なくとも一つの特殊文字
-
少なくとも一つの番号
-
特殊文字はオプションです
-
16文字までの6つの文字の最小値、
正規表現:
"/^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$/"
なし最小値と最大値の条件の場合は、削除することができます.{6, 16}
-
図6は、文字制限の最小数であります
-
20は、最大文字数の制限であります
-
?=一致式を示します
第八アイデア
条件が満たされる必要があり、対応する正規表現:
Conditions: 1] Min 1 uppercase letter.
2] Min 1 lowercase letter.
3] Min 1 special character.
4] Min 1 number.
5] Min 8 characters.
6] Max 30 characters.
Regex: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$@!%&*?])[A-Za-z\d#$@!%&*?]{8,30}$/
第九のアイデア
必要に応じて、次の正規表現は、正常に動作することができるはずです。
^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}
ただ、文字列変数、配布モデルを作成し、パターンマッチが正しく、それ以外の場合はfalseを返した場合、ブールメソッドがtrueを返す作成。
例:
String pattern = "^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}";
String password_string = "Type the password here"
private boolean isValidPassword(String password_string) { return password_string.matches(Constants.passwordPattern); }
第十アイデア
この正規表現を試してみてください。
^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[a-zA-Z0-9@#$%^&+=]*$
完全に私のための正規表現。
function myFunction() {
var str = "c1TTTTaTTT@"; var patt = new RegExp("^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[a-zA-Z0-9@#$%^&+=]*$"); var res = patt.test(str); console.log("Is regular matches:", res); }