二〇〇四年 長月 廿八日 火曜日
メールアドレスに何となくマッチする正規表現
このブログでは使っていないけれど、他で使う用事があったので、入力された文字列が正当なメールアドレスかどうか何となく判定する正規表現を考えてみた。
m/^[--9^-~#-'!*+=?]+@([-a-z0-9]+\.)+[a-z]{2,4}$/i
これにマッチすれば「何となく」正当なメールアドレス。これにマッチしなかったら「何となく」不正なメールアドレス。これにマッチしない正当なメールアドレスもあれば、これにマッチする不正なメールアドレスもあるが、実用的には十分と思う。
正確にマッチさせたい場合は、OHZAKI さんのperlメモ
を読むこと。
なお、いうまでもないことだけれど、正当なアドレスであることと、実際に使われているアドレスであることとはまったく別。アドレスが実際に使われているかどうかは、実際にメールを出して、返信があるかどうかを確かめるしかないと思う。
以上の点をふまえた上で、コピーして使いたい人はご自由にどうぞ。何か問題が起こっても、責任は取りません。
2004年9月29日追記 上記正規表現にマッチしない正当なメールアドレスは hatori(@origami)koshiro@ousaan.com とか "Hatori, Koshiro"@ousaan.com とか。こういうアドレスを使っている人は見たことないけど。
上記正規表現にマッチする不正なメールアドレスは Hatori.Koshiro.@ousaan.com とか。ただし、これは不正であるにもかかわらず、DoCoMo では使えるらしい。
ちなみに、これらのメールアドレスはすべて架空のアドレス。送っても届きません。
2004年11月1日追記 よくよく調べてみたら、「.museum」というトップレベルドメインがあった。そのうち「.travel」という TLD も新設されるらしいし、上の正規表現はこう直した方がいい。
m/^[--9^-~#-'!*+=?]+@([-a-z0-9]+\.)+[a-z]{2,6}$/i

コメントを書くには JavaScript が必要です。