このコードは常に警告を出力します"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