2016-09-07 30 views
1

パスワードを検証するためにHtml5パターンを使用しています。文字列に少なくとも2つの数字と少なくとも4文字が含まれていることを確認する必要があります任意の順序。Html5パターンで少なくとも2桁と少なくとも4文字を任意の順序でチェックします

これは私がこれまで行ってきたことです:[a-z]{4,}[0-9]{2,}|[0-9]{2,}ですが、これはどのような順序であってもかまいません。たとえば、9pog8kです。

他に何があっても、2桁の数字と4桁の数字があればいいです。

ありがとうございます!

+0

はパターンがどうあるべきかアドバイスをしてくださいオカレンス>私のために私のパターンを作成してください。 あなた自身で初めて何かを試してみてはいかがですか – Roberrrt

+0

私はこれを行いました。これは私が今までに得たものです: [az] {4、} [0-9] {2} | [0-9] {2} しかし、私はそれをどのような順番にする必要があります:9pog8k –

+0

しかし、それはパスワードに文字と数字だけが含まれることを意味しますか?または任意の文字? –

答えて

2

[a-z]{4,}[0-9]{2,}|[0-9]{2,}は、4文字以上2桁以上、または2桁以上の数字と一致します。開始からは、デフォルトでpattern正規表現がアンカーされます。

input:valid { 
 
    color: green; 
 
} 
 
input:invalid { 
 
    color: red; 
 
}
<form name="form1"> 
 
<input pattern="(?=(?:[^a-zA-Z]*[a-zA-Z]){4})(?=(?:\D*\d){2}).*" title="Min. 2 digits and min. 4 letters are required"/> 
 
<input type="Submit"/> 
 
</form>

HTML5パターン属性はフルが必要です

あなたはどのパターンがどのような順序で文字列の中ではなく、シンプルな交代を表示された場合、実際にチェックするために先読みを使用する必要があります文字列が一致するので、最後に.*が必要です。

パターンは詳細:

  • (?=(?:[^a-zA-Z]*[a-zA-Z]){4}) - 文字が続く0+非文字​​の4つの配列が存在しなければならない
  • (?=(?:\D*\d){2}) - 続い0+非数字の2つの配列が存在しなければなりません桁
  • .* - 任意の文字に一致するが、0+
+1

それだけです。再度、感謝します。 –

+1

偉大なウィクスター!!! – Knitesh

関連する問題