2016-11-17 9 views
0

リアルタイムのフロントエンド検証にjqueryプラグインブートストラップバリデータを使用しています。パスワードの正規表現 - ユニコードフラグ付きの正規表現では生のブレースは使用できません

私は、パスワード(8文字以上の任意の文字列)を検証するために、パターン/正規表現の検証を追加すると、パターンが有効な正規表現ではありませんので、私は次のエラー

<input pattern='^.*{8,}$'>をチェックすることができません

を取得します:生のブレースがユニコードフラグを正規表現で

を許可されていないHTMLは

<input pattern="^.*{8,}$" class="form-control" required="required" name="user[password]" id="user_password" type="password"> 

どのようにすべきです私は正規表現を書く?

+0

8文字以上のすべてを一致させようとしていますか? – schroffl

+0

少なくとも8文字のパスワード。そしてはい、私は空白を忘れて@Dekelの答えを参照してください。 –

答えて

3

代わりに^.{8,}$を使用してください。

この正規表現は8文字以上の任意の文字に有効です。

パスワード内にもスペースが入ることに注意してください。スペース以外の文字を許可する場合は、代わりに^[^\s]{8,}$を使用できます。何度でも(*)、および少なくとも8つの文字{8,}と(「任意の文字を任意の回数」)それを受け入れる -

あなたの現在の正規表現は、任意の文字(.)を受け入れ、実際に

です(これは意味をなさない)。

+0

ありがとう、私はエラーメッセージ(私は中括弧の問題を探していた)によって誤解を招き、問題がどこか別のものであることを認識しなかったと思います。そしてメモのおかげで。 –

+0

'^'と '$'はHTML5のパターン属性では必須ではありません。 –

+0

@WiktorStribiżew、私は検証がHTML5かjavascriptベースの別のバリデーションプラグインによって行われるかどうかはわかりません。 – Dekel