1. ホーム
  2. javascript

[解決済み] 少なくとも8文字、数字1つ、大文字1つ、小文字1つを含むパスワードのためのjavascript正規表現 [重複]。

2023-06-10 22:23:09

質問

私は以下の条件を満たすパスワードを検証するための正規表現を書こうとしています。

  • 少なくとも 8 文字が含まれている
  • 少なくとも1つの数字を含む
  • 少なくとも1つの小文字(a-z)を含む
  • 少なくとも1つの大文字(A-Z)を含む。
  • 0-9a-zA-Z のみを含む

下記を試しましたが、うまくいかないようです。

http://jsfiddle.net/many_tentacles/Hzuc9/

<input type='button' value='click' class='buttonClick' />
<input type='text' />
<div></div>

と...

$(".buttonClick").click(function () {

    if ($("input[type=text]").filter(function () {
        return this.value.match(/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]{8})$/);
    })) {
        $("div").text("pass");
    } else {
        $("div").text("fail");
    }

});

何かアイデアはありますか?

どのように解決するのですか?

正規表現は次のようになります。

/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/

以下は説明です。

/^
  (?=.*\d)          // should contain at least one digit
  (?=.*[a-z])       // should contain at least one lower case
  (?=.*[A-Z])       // should contain at least one upper case
  [a-zA-Z0-9]{8,}   // should contain at least 8 from the mentioned characters
$/