1. ホーム
  2. javascript

[解決済み] JavaScript正規表現メールバリデーション [重複]の件

2022-06-10 15:28:15

質問

このコードは常にアラートを出しています "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);    

}

どのように解決するのですか?

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

または、正規表現として定義します。

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


ところで、クライアント側で電子メールアドレスの検証を行わないでください。あなたの正規表現は、とにかく堅実な実装のために渡すにはあまりにも単純です。

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