2016-09-21 3 views
5

これはちょうど1日前に動作していましたが、現在は例外をスローしています。正規表現をオンラインのベリファイアに貼り付けました。これは有効な正規表現ではないのはなぜですか?

私には何が欠けていますか?助けのための

<input type="text" class="form-control" name="nickname" id="nickname" value="Alicia" 
     pattern="[\w\s\-\(\)\!\,\.]{3,45}"> 

Pattern attribute value [\w\s\-\(\)\!\,\.]{3,45} is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[\w\s\-\(\)\!\,\.]{3,45}/ : Invalid escape

ありがとう!

ケイシー

答えて

6

Chromeは実際には苦情を申し立てますが、私には妥当性があります。

いずれの場合でも、文字クラス内のすべての文字をエスケープする必要はありません。あなたは使用できるはずです

pattern="[\w\s()!,.-]{3,45}" 

これは私にとってはうまくいくようです。

+0

非常に簡単な有効な正規表現(同じ年に何度も使用しています)で同じ問題が発生しています。最新バージョンのChromeではOPと同じエラーが表示されます。私が持っているログインページを壊す。 – jdf

+0

GoogleのサインアップページがChromeで「無効なエスケープ」というエラーで壊れてしまい、正規表現は有効な正規表現ではありません。正規表現では無効なエスケープです。問題を引き起こしていた文字クラスにエスケープされた一重引用符 '\ 'がありました。 –

+0

ありがとうございます、それは時間を節約します – saqibahmad

関連する問題