hamada
bungu****@leo*****
2007年 10月 26日 (金) 12:07:39 JST
こんにちわ。 On Thu, 25 Oct 2007 19:36:22 +0900 (JST) Suzuki <vx247****@yahoo*****> wrote: > aaa..****@ezweb***** その話、確か先月にもありましたよ?(^_^;) そん時はかなりダイナミックな方法で解決されてましたが、たとえばPEARでは、 こんな風にしてるみたいです。 Mail-1.1.14/Mail/RFC822.php > function isValidInetAddress($data, $strict = false) > { > $regex = $strict ? '/^([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})$/i' : '/^([*+!.&#$|\'\\%\/0-9a-z^_`{}=?~:-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})$/i'; > if (preg_match($regex, trim($data), $matches)) { > return array($matches[1], $matches[2]); > } else { > return false; > } > } これで「多くの人に適合する」そうです。件の例も、$strict=trueでちゃんと通っ てるみたい。 > print_r(isValidInetAddress('aaa..****@ezweb*****', true)); > Array ( [0] => aaa..aaaa [1] => ezweb.ne.jp ) でもまぁ、基本的に 「正規表現でメールアドレスの正当性を調べることは難易度が高い」 ということのようで。 はまだ