j3259の日記: E-mail address regex メールアドレスの正規表現
日記 by
j3259
メールアドレスの正規表現で気に入ったのをやっと見つけた。
^[\x01-\x7F]+@(([-a-zA-Z0-9]+\.)*[a-zA-Z]+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])
元が i オプション付きだったので、A-Z を加えた。
メアドなんか簡単だと言って自分で書いてる人も多いと思うけど、foo+example@example.com とか foo%bar@example.com と一致できてないような代物が多い。GMail はユーザ名の + 以降を無視する仕様らしいので、そこに相手先の名前を入れるという使い方をする人がいるし、web hosting などのユーザ名が % 付きで発行されることもある。
[\x01-\x7F]+ と分からないものは分からないとしてる所が筋がいい。無理して変なものを書いて有効なメアドを弾くと面倒になる状況が多い。
E-mail address regex メールアドレスの正規表現 More ログイン