アプリ版:「スタンプのみでお礼する」機能のリリースについて

フォームから入力された、
メールアドレスの妥当性のチェックを行いたいのですが、
「日本語であるか否か」のチェックを行うことはできないのでしょうか?
アルファベット/数字だけのチェックであれば問題ないのですが、
メールには
_.-
などの文字も含まれているので、
メールアドレスとして妥当かどうか、正確なチェック方法、
正規表現方法はないものかどうか、教えてください。

他のサンプルソースで拾った
if ( ereg("^[^@]+@[^.]+\..+", $mail) ) {
$status = 1; //メールアドレスっぽい
} else {
$status = 0; //メールアドレスではなさそう
}
という記述ですと、日本語、たとえば
あいうえお@mail.goo.ne.jp
でもOKになってしまいます。
よろしくお願いします。

A 回答 (3件)

私がかなり昔に書いた判定式です。


参考まで。

function is_mailaddr( $stream ) {
if( preg_match( '/^[_a-zA-Z0-9-]+([\.\+_a-zA-Z0-9-]+)*@[a-zA-Z0-9]([_a-zA-Z0-9-])*(\.[_a-zA-Z0-9-]+)*(\.[_a-zA-Z0-9-]{2,})+$/i', $stream ) ) {
return true;
}
else {
return false;
}
}
    • good
    • 0
この回答へのお礼

ありがとうございます。
実際に使わせていただいても構いませんでしょうか。
よろしくお願いします。

お礼日時:2007/02/01 09:59

>正確なチェック方法


「正確な」=RFCに規定されている
という意味でよいのでしょうか?
(厳密な正規表現となると大変なことになりますが…)

参考
http://q.hatena.ne.jp/1130649169

また上記URLのリンク先
http://www.din.or.jp/~ohzaki/perl.htm#Mail
にも記載がありますが、一部の携帯で使えてしまう
irregular.@xxxxxx.ne.jp
の@の前の「.」はRFCに適合しない不正なアドレスになります。

また「メールアドレスが正しいか否か」という意味では
このような考え方もあります。
http://neta.ywcafe.net/000407.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考にさせていただきます

お礼日時:2007/02/01 09:59

>実際に使わせていただいても構いませんでしょうか。



ご自由にお使いください :-)
    • good
    • 0
この回答へのお礼

お礼が遅れてしまいました。
ありがとうございます。
使わせていただきます。

お礼日時:2007/02/15 09:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!