RFC で有効なすべてのアドレスをキャッチする正規表現を作成しようとしましたが、いくつかの誤検知が発生しても問題ありません (ただし、それほど多くはありません)。これは私がこれまでに思いついたことです:
/^\b\S+@\S+\.[^\s@]{2,}\b$/
この式に一致しない RFC で有効なアドレスはありますか? または、それを改善するための提案はありますか? 誤検知は気にしませんが、いくつか見せていただければ幸いです。
RFC で有効なすべてのアドレスをキャッチする正規表現を作成しようとしましたが、いくつかの誤検知が発生しても問題ありません (ただし、それほど多くはありません)。これは私がこれまでに思いついたことです:
/^\b\S+@\S+\.[^\s@]{2,}\b$/
この式に一致しない RFC で有効なアドレスはありますか? または、それを改善するための提案はありますか? 誤検知は気にしませんが、いくつか見せていただければ幸いです。
この投稿をチェックしてください:
これもあります:
http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html
6000 文字以上の正規表現のようなものはありません!
"foo bar"@example.com
ローカル部分にはスペースを含めることができます (スペースは引用符で囲む必要がありますが、有効です)。
電子メール アドレスにはネストされたコメントが含まれる場合があり、これはほとんどの正規表現アプローチを台無しにします。これは有効な電子メール アドレスです。
test(Oh (noes, an @) "sign")@(Here comes the domain)domain.com(TLD is com!!)
コメントがなくても、ローカル部分には引用符で囲まれた文字列が含まれる場合があり、これには空白が含まれる場合があります。私が見つけた最良のアプローチは次のとおりです@
。それは必須です。だから私は使うだろう
/.+@.+/
name@[1.2.3.4]
一致しませんが、有効です。テスト用の有効/無効なメール アドレスの一覧は、こちらにあります。
regexbuddy を試して、正規表現を検証してください。私がよく使うもう 1 つの便利な Web サイトはregexplib です。