私は正規表現@
で1000hzのブートストラップバリデーターを使用してメール入力を検証していますが、 '@'文字をエスケープできません。誰にもアイデアはありますか?正規表現のエスケープ@文字
@@、@( '@')、さらには16進コード(@)を試しました。私はV53にGoogle Chromeを更新するまで進数は罰金働いていた、今ではもう
有効ではないことはここに私の入力です:validator.min.js:
<input type="text" pattern="^[a-zA-Z0-9\.\_%+-]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}" required data-error="Enter a valid email address" name="contractor-email" class="form-control" placeholder="e.g. [email protected]" />
はまた、Chromeは次のエラーメッセージがスローされます。パターン属性値^ [a-zA-Z0-9 ._%+ - ] + @ [a-zA-Z0-9 .-] +。[a-zA-Z] {2,4}は有効ではありません正規表現:Uncaught SyntaxError:無効な正規表現:/^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+.[a-a-AA-Z]{2 、4} /:無効なエスケープ
ありがとうございます。
なぜあなたはそれを "エスケープ"する必要がありますか? '@ 'は特殊文字ではありません。 [a-zA-Z0-9 \。\ _%+ - ] + @ [a-zA-Z0-9 \。\ - ] + \。[a-zA-Z] { 2,4} "'仕事? [a-zA-Z] {2,4} "'のように 'pattern =" [\ w。%+ - ] + @ [a-zA-Z0-9 .-] + \エスケープは冗長で、 '[a-zA-Z0-9_]' = '\ w'です。また、パターンはデフォルトで固定されています –
@ウィクショナリー「@」はカミソリC#mvcの特殊文字なので、それをエスケープする必要があります – vegas2033
それから '\\ x40'または' \\ u0040'に置き換えてみてください。ダブルエスケープ '' \ ''についてはわかりませんが、おそらく単一のものが実行します。両方を確認してください。 –