JavaScript 正規表現によるメール検証 [重複] 質問する

JavaScript 正規表現によるメール検証 [重複] 質問する

このコードは常に警告を出力します"null"。これは、文字列が式と一致しないことを意味します。

var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"; 

function isEmailAddress(str) {

    str = "[email protected]";      

    alert(str.match(pattern)); 
    return str.match(pattern);    

}

ベストアンサー1

正規表現を文字列として定義する場合は、すべてのバックスラッシュをエスケープする必要があるため、「\w」の代わりに「\\w」を使用する必要があります。

あるいは、正規表現として定義します。

var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/; 

ところで、クライアント側で電子メール アドレスを検証しないでください。正規表現は、堅牢な実装に合格するにはあまりにも単純すぎます。

実物はここでご覧ください:http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

おすすめ記事