ユーザー登録などでメールアドレス入力フォームはよく使われると思います。
[参考記事] JavaScriptでのチェック
少なくとも満たしていなければいけないルールのみでのチェックです。
正規表現でのチェック条件
(1)空入力は禁止
(2)@は1つ
(3)英文字または数字で始まる
(4)ドメインは英文字または数字で始まる
(5)ドメインは英文字で終わる
(6),(コロン)は使えない
(7)確認アドレスと一致している
(1)空入力は禁止
(2)@は1つ
(3).(ドット)は1つ以上
(4)文字の長さは7文字以上
(5),(コロン)は使えない
(6)確認アドレスと一致している
HTML
<form name="enter" action="#" method="post">
メール
<input type="text" name="mail" />
<input type="text" name="mail2" />(確認)
<input type="submit" value="送信" />
</form>
メール
<input type="text" name="mail" />
<input type="text" name="mail2" />(確認)
<input type="submit" value="送信" />
</form>
PHP
if (!preg_match(
'/^[a-z0-9][a-z0-9_¥.¥-]*@[a-z0-9][a-z0-9_¥.¥-]+[a-z]$/i',
$mail)) {
echo "不正なメールアドレスです。";
}elseif($mail!=$mail2){
echo "確認用メールアドレスが一致していません。";
}else{
echo "正しいメールアドレスです。";
}
/*
/^[A-Za-z0-9][A-Za-z0-9_¥.¥-]*@[A-Za-z0-9][A-Za-z0-9_¥.¥-]+[A-Za-z]$/
でもよい
*/
'/^[a-z0-9][a-z0-9_¥.¥-]*@[a-z0-9][a-z0-9_¥.¥-]+[a-z]$/i',
$mail)) {
echo "不正なメールアドレスです。";
}elseif($mail!=$mail2){
echo "確認用メールアドレスが一致していません。";
}else{
echo "正しいメールアドレスです。";
}
/*
/^[A-Za-z0-9][A-Za-z0-9_¥.¥-]*@[A-Za-z0-9][A-Za-z0-9_¥.¥-]+[A-Za-z]$/
でもよい
*/
if($mail == ""){
echo "メールアドレスを入力してください。";
exit;
}
$cflag1 = 0;
for($i=0; $i < mb_strlen($mail); $i++){
if(substr($mail,$i,1) == "@"){
$cflag1++;
}
}
$cflag2 = strpos($mail,".");
if($cflag1 != 1 || $cflag2 < 1 || mb_strlen($mail) < 7){
echo "メールアドレスを正しく入力してください。";
exit;
}
$cflag3 = 0;
for($i=0; $i < mb_strlen($mail); $i++){
if(substr($mail,$i,1) == ","){
$cflag3++;
}
}
if($cflag3>0){
echo "メールアドレスに使用できない文字が含まれています。<br />『.』と『,』を間違っていませんか。";
exit;
}
if($mail!=$mail2){
echo "確認用メールアドレスが一致しません。";
exit;
}
echo "メールアドレスを入力してください。";
exit;
}
$cflag1 = 0;
for($i=0; $i < mb_strlen($mail); $i++){
if(substr($mail,$i,1) == "@"){
$cflag1++;
}
}
$cflag2 = strpos($mail,".");
if($cflag1 != 1 || $cflag2 < 1 || mb_strlen($mail) < 7){
echo "メールアドレスを正しく入力してください。";
exit;
}
$cflag3 = 0;
for($i=0; $i < mb_strlen($mail); $i++){
if(substr($mail,$i,1) == ","){
$cflag3++;
}
}
if($cflag3>0){
echo "メールアドレスに使用できない文字が含まれています。<br />『.』と『,』を間違っていませんか。";
exit;
}
if($mail!=$mail2){
echo "確認用メールアドレスが一致しません。";
exit;
}