[javascript]Re:入力ミスを減らすメールアドレス入力フォームの作り方

 使うアテがあるので、作ってみました。


/* メールアドレスの単純ミスをチェック /
function checkEmail() {
var str = document.getElementById(“email_input”).value;
var error_msg_node = document.getElementById(“mail_error_msg”).childNodes[0];
if( !str.match( /@/ ) ) {
error_msg_node.nodeValue = “@がないですが、これって本当にメールアドレスですか?”;
return 1;
}
if( !str.match( /./ ) ) {
error_msg_node.nodeValue = “.(ドット)がないですが、これって本当にメールアドレスですか?”;
return 1;
}
if( str.match( /@.
\,/ ) ) {
error_msg_node.nodeValue = str.replace(“,”,”.”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@..j$/ ) ) {
error_msg_node.nodeValue = str+”pではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@.
.p$/ ) ) {
error_msg_node.nodeValue = str.replace(“.p”,”.jp”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@..co$/ ) ) {
error_msg_node.nodeValue = str.replace(“.co”,”.com”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@.
mai[^l]/ ) ) {
error_msg_node.nodeValue = str.replace(/mai[^l]/,”gmail”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@.*[^.]co/ ) ) {
error_msg_node.nodeValue = str.replace(/([^.])co/,”$1.co”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
error_msg_node.nodeValue = “”;
return 0;
}

お名前
Eメール



和尚が指摘されたような入力ミスがあったら、メールアドレス欄の右側に警告が出ます。

以下の項目をチェックしていますので、やってみてくださいませ。

  • ,(カンマ)と.(ドット)の間違い
  • @がない
  • .(ドット)がない
  • “~.p”というメールアドレス(~.jp?)
  • “~.j”というメールアドレス(~.j?)
  • “~.co”というメールアドレス(~.com?)
  • “~mai”の後ろにl以外がくるメールアドレス(gmai.comとか、hotmai.comとか)
  • .以外の後ろにcoがくるメールアドレス(~@yahooco.jpとか)



JavaScriptで単純にチェックしているだけです。あまりJavaScriptのコードを書いた経験が多くないので、識者の方、添削していただけるととてもうれしいです。