• ベストアンサー

携帯アドレスの正規表現

現在、携帯アドレスの正規表現を行っていますが、 どうもうまくいきません。 実際に正規表現をするのは@よりも前の文字列です。 現在下記のようにしますとひらがなもOKになってしまいます。 !ereg( "^[a-zA-Z0-9!#$%&*+/=?^_{|}~.-]+", $email ) 何かよい方法はご存知ないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • randman
  • ベストアンサー率51% (17/33)
回答No.2

そもそもマルチバイト文字を拾うようなマッチングになっているように見えます。 preg_match("/([a-zA-Z0-9\-\._]+?)@/",$email,$m); みたいな。 これで@以前にある[]内の文字を取得できるはず。 英数字以外のメアドに使用できる文字についてはわかりませんが、こんな感じでしょう。

aiurai54
質問者

お礼

ありがとうございます。できました!!

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

携帯電話のメールアドレスって、キャリアによってはかなりいいかげんで(特に、何処とは言いませんよドコとは・・・・) RFC821とRFC822に準じていない場合も許可されており 半角英数だったら良し としておいたほうが無難かもしれません

aiurai54
質問者

お礼

ありがとうございます。 そうなんですね~・・・。