blog.鶯梭庵

二〇〇四年 長月 廿八日 火曜日

メールアドレスに何となくマッチする正規表現

このブログでは使っていないけれど、他で使う用事があったので、入力された文字列が正当なメールアドレスかどうか何となく判定する正規表現を考えてみた。

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 が必要です。