ため「@」を過ぎて、私の[正しい]正規表現を承認しない:HTML5パターン正規表現は、これは、jQueryの検証ライブラリでは動作しない私の正規表現のコードで電子メールの検証
return /^(("[\w-\s]+")|([\s\w\+-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{1,66})\.([a-z]{2,6}\s*(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?)$/i
にそれを追加しますjQueryのバリデータのない他のHTML5のページには、エラーの結果:
Pattern attribute value /^(("[\w-\s]+")|([\s\w+-]+(?:.[\w-]+))|("[\w-\s]+")([\w-]+(?:.[\w-]+)))(@((?:[\w-]+.)\w[\w-]{1,66}).([a-z]{2,6}\s(?:.[a-z]{2})?)$)|(@[?((25[0-5].|2[0-4][0-9].|1[0-9]{2}.|[0-9]{1,2}.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})]?)$/i is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: //^(("[\w-\s]+")|([\s\w+-]+(?:.[\w-]+))|("[\w-\s]+")([\w-]+(?:.[\w-]+)))(@((?:[\w-]+.)\w[\w-]{1,66}).([a-z]{2,6}\s(?:.[a-z]{2})?)$)|(@[?((25[0-5].|2[0-4][0-9].|1[0-9]{2}.|[0-9]{1,2}.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})]?)$/i/: Invalid character class
は許可しない:
AA
ジャガイモ
許可@:
ジャガイモ@ gの
これはHTMLコードです:
<input type="email" id="email" name="email" placeholder="" required="true" class="input-xlarge" pattern='/^(("[\w-\s]+")|([\s\w\+-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{1,66})\.([a-z]{2,6}\s*(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?)$/i'>
すでに入力の種類を「電子メール」として指定しました。正規表現を渡す必要はありません(考慮されません)。あるいは、 'type =" text "'を使用してください。 –
問題のマニュアルバイナリ検索をお勧めします。正規表現の半分を削除し、エラーが続くかどうか確認してください。今半分が問題を抱えていることが分かります。あなたがそれを見つけるまで続ける。 – smarx
また、このような正規表現を使用して電子メールアドレスを検証しようとするのは、本当に悪い考えです。私は便利なリンクを持っていませんが、それはたくさん議論されています。 – smarx