2016-11-30 32 views
1

言語はjavascriptです。渡す文字列に数値または文字以外の数字、文字、文字が少なくとも1つ含まれているかどうかを確認するにはどうすればよいですか?

弦:

JavaScript1 *

Pu54 325

()を通過しないであろう9C

弦:fff

% ^(DFE

私は次のことを試してみました:

var matches = password.match(/\d+/g); 
if(matches != null) 
{ 
     //password contains a number 
     //check to see if string contains a letter 
     if(password.match(/[a-z]/i)) 
     { 
      //string contains a letter and a number 
     } 
} 
+0

はい、私は多くのことをしようとした最適です –

答えて

1

あなたは正規表現を使用することができます。

私はここからそれを取った:Regex for Password

var checkPassword = function(password){ 
    return !!password.match(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[[email protected]$!%* #+=\(\)\^?&])[A-Za-z\[email protected]$!%* #+=\(\)\^?&]{3,}$/); 
}; 

私はこの正規表現を使用してください:

最低3つの文字の少なくとも1アルファベット、1つのナンバーと1つの特殊文字:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[[email protected]$!%* #=+\(\)\^?&])[A-Za-z\[email protected]$!%* #=+\(\)\^?&]{3,}$" 

この正規表現は、これらのルールを適用します:?。?

少なくとも一つの英語の手紙を、(= * [ -za-Z])

少なくとも一桁、(?=。* \ d)の

1つ以上の特殊文字(?=。 [$ @ $!%#+ =()\ ^? &])...あなたが好きなら、よりを追加

3つの文字(?=。 [$ @ $!%#?&])[A-ZA-Z \ dの$ @を$の

最小の長さ!% *#+ =()\ ^? &] {3、}、あなたがより多くの特殊文字を追加したい場合は、私が「(」(あなたは)2つの場所でそれを追加する必要がありますが追加されているように、あなたが正規表現に追加することができ、スペース

が含まれる。

そして、これら二つの感嘆符が何であるかを自問あなたの人々のために、ここでの答えは:What is the !! (not not) operator in JavaScript?

+0

ありがとう –

+0

@ 2感嘆符がためのものであるマイケル・ドラム。。。!関数は常にブール値を返す - これを見てhttp://stackoverflow.com/questions/784929/what-is-the-not-operator-in-javascript – sidanmor

+0

あなたは私の心を吹き飛ばした。ありがとうございました。 –

関連する問題