• 締切済み

メールアドレスをフォーム入力する際

メアドをフォームで入力する際に下記ソースだと、全角文字や@無しなどがDBに入ってしまいます、どうやってメアドだけ入力出来るようにするのでしょうか? <?php $EMAIL = $_POST["EMAIL"]; $PWD = $_POST["PWD"]; $LUCKYNAME = $_POST["LUCKYNAME"]; $SEXTYPE = $_POST["SEXTYPE"]; $DateofBirthYear = $_POST["DateofBirthYear"]; $DateofBirthMonth = $_POST["DateofBirthMonth"]; $DateofBirthDay = $_POST["DateofBirthDay"]; if($EMAIL == ""or not"@" || $PWD == "" || $LUCKYNAME == "" || $SEXTYPE == "" || $DateofBirthYear == "" || $DateofBirthMonth == "" || $DateofBirthDay == "") { ?> <HTML> <head> </head> <body> <P>未入力もしくは未選択の項目があります。</p> ブラウザのバックボタンで戻り入力内容を確認してください。 <?php } else { /* campaign.htmlからの送信データに未入力がない場合 */ ?> <p><b>間違いがないか確認して下さい。</b><p> <form action="campaign3.php" method="post"> <table> <tr> <td>メールアドレス</td> <td><?= $EMAIL ?></td> </tr>

みんなの回答

  • goojovi
  • ベストアンサー率100% (1/1)
回答No.2

正規表現の具体的な例ですが、 こんな感じの関数とか作っとくと 使いまわせてべんりですよ。 function mail_check($EMAIL) { if(preg_match("/^[a-zA-Z0-9\"\._\?\+\/-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/", $EMAIL)){ return true; } else { return false; } }

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

正規表現を使えば、メールアドレスの書式にあっているかぐらいはチェックできます。 正規表現は文字列の書式などをチェックする時に利用します。 検索ワード: php 正規表現 メールアドレス で、結構な数がひっかかります。

xxxumaxxx
質問者

お礼

早速のご返答ありがとうございます、なんとか頑張ってみます。 ほかにも参考になりそうなものありましたら、宜しくお願い致します。

関連するQ&A