2016-06-22 6 views
0

入力パスワードに文字(最小または最大)と少なくとも1つの数字が含まれていることを検証します。それは今までの私の検証です。パスワードが正規表現で英数字であることを確認します。JS

function validate(){ 

var password = $("#password").val(); //user enters password in text field 

if (/^[0-9]{1,}[A-Za-z]{1,}/.test(password)){ //this regex does not quite do what i want 
    alert("Password is correct"); 
} 
else if (password == null || password.length == 0){ 
    alert("Enter password"); 
}else{ 
    alert("Wrong password"); 
    } 
} 
} 

答えて

2

英数字のための正規表現:

/\d/ 

のRegex少なくとも一つのアルファベットのために:

/[A-Z]/i 

あなたは組み合わせることができ

/^([a-zA-Z0-9]+)$/ 

のRegex少なくとも一つの数値について上記をif文に変換するNTなどは次のとおりです。

if (/^([a-zA-Z0-9]+)$/.test(password) && /\d/.test(password) && 
    /[A-Z]/i.test(password)) { 
    alert("Password is correct"); 
} 
+0

を。要件はそれぞれ少なくとも1つの要件でした。 –

+0

'A'は/ \ d /を満足せず、 '9'は/ [A-Z]/i –

+0

を満たしません。しかし、3つの正規表現は、肯定的な先読みアサーションを持つ世界では必要ありません。 –

1

/(?=.*[a-z])(?=.*\d)/iを試してみてください(ここではそれを再生する:https://regex101.com/r/qJ7vS9/1) 'をA' と '9' にマッチ

関連する問題