![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ホームページのメールフォームを作ってます。
返信用メールアドレスを記入してもらうフォームで、
携帯アドレスがエラー扱いになってしまいます。
if (trim($email) == '') {
$error[] = 'メールアドレスは必須項目です。';
} else {
$pattern =
'/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/iD';
if (!preg_match($pattern, $email)) {
$error[] = 'メールアドレスの形式が正しくありません。';
}
}
という感で、yahooやgmailを入れたときには上手くいくのですが、
自分のドコモの携帯のアドレスを入れると上手くいきません。
買った本を写して書いてる感じなので、どう直していいかわかりません。
教えてください!!
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
aaaa_aaaaaaaa@docomo.ne.jp でならそのコード正常に動作しますけど。
フォームの方でinputにsize設定してデータが切り取られたりしてませんか?
phpの方で受け取った$emailをechoするなりして確認してみてください。
echo 'Email: '. $email;
if (trim($email) == '') {
$error[] = 'メールアドレスは必須項目です。';
} else {
$pattern =
'/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/iD';
if (!preg_match($pattern, $email)) {
$error[] = 'メールアドレスの形式が正しくありません。';
}
}
No.2
- 回答日時:
こんにちは。
ドコモのメールアドレスは特殊で通常は許されないxxx...xxx..xx@docomo.ne.jpという、ドットの連続が使用できています。
それにひっかかっているのだと思います。
No.1
- 回答日時:
正規表現を少し勉強しましょう。
/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/iD
これは
・ 最初は 英数字 + _ - が1個以上
・その後に「. の後に 英数字 + _ - が1個以上」のパターンが0個以上
・@ が続く
・「英数字 - が1個以上続いた後に . 」が1個以上続く
・英数字 2~6個で終わる
・大文字小文字は無視
という意味です。
ドコモのアドレスだと、 docomo.ne.jp で、@以降は上記の条件にマッチしています。
・「英数字 - が1個以上続いた後に . 」が1個以上続く
→「docomo.」「ne.」
・英数字 2~6個で終わる
→「jp」で終わり
となると、前半の部分がこのパターンとマッチしないことになります。
英数字 + _ - 以外で始まっている
英数字 + _ - . 以外の文字が使われている
. が2つ以上続いている
等はないでしょうか?
直し方はそれ次第です。
この回答への補足
携帯のアドレスは英語4つの後にアンダーバー、その後に英語が七つ、
(最初は 英数字 + _ - が1個以上)aaaa_aaaaaaaa@docomo.ne.jpなので条件を満たしてると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- Gmail 10年以上使ってるGoogleアカウント (gmail、YouTube)に、久しぶりにパソコンからロ 3 2022/07/03 03:43
- その他(スマートフォン・携帯電話・VR) 携帯メールサービスはEmailと一緒みたいなもんですか?双方でやり取りできますか? 5 2023/03/19 08:26
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- その他(メールソフト・メールサービス) メールアプリ spark にauメールが入れられない!!! 1 2022/08/19 23:51
- Yahoo!メール Yahooメールにログインできません 2 2022/12/12 07:46
- その他(パソコン・スマホ・電化製品) 私のメールアドレスを知らない知り合いから、スマホにEメールがきたのですが、宛先は私の携帯番号、差出人 3 2022/10/26 05:53
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php初心者ですメールについて教...
-
CSVファイルの中で、「 , 」カ...
-
英数字のみ全角から半角に変換
-
Excel VBAでPDFファイルをMicro...
-
EXCELからCSVにすると余計なカ...
-
エクセルで数値を全角文字(カ...
-
[VBScript]バイト長の判定
-
全角/半角キーをSendkeys関数で...
-
全角英数字の必要性が理解できない
-
住宅にカナを入力する際に丁目...
-
VBA EXCEL あるセルの中の一...
-
メールのcsv添付ファイルの種類...
-
VBAで「,」⇒「.」へ置換後、タ...
-
全角入力
-
VBA 置換文字がみつからない時
-
全角スペース
-
プログラミングでは、半角括弧...
-
perl 初めてのプログラムにエラ...
-
ACCESS VBA でのバイナリデー...
-
○文字目に文字挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 URL抽出「 [\\/\\b]{0...
-
シェルスクリプト [[ $number =...
-
正規表現について VB6
-
正規表現について
-
日本語環境下でのバックスラッ...
-
正規表現で2種類ある括弧を区別...
-
perlの正規表現で量指定子を繰...
-
perl初心者です。
-
言語ではなく、正規表現のみで...
-
正規表現の展開
-
正規表現
-
正規表現について教えてください
-
正規表現が解読できません。
-
pythonの正規表現、全角カタカ...
-
行末の正規表現について。
-
正規表現。行頭が○○以外にマッ...
-
配列内の要素をパターンマッチする
-
置き換えについて
-
【GVimの正規表現における検索...
-
「?」が含まれるマッチについて
おすすめ情報