• ベストアンサー

Emailのチェック

Emailアドレスの書き込みチェックをjava scriptで行おうと思っています。 ..(ドットが2回続く)があったらエラーを出したいのです。 どなたか分かる方がいらっしゃいましたら、お願いします。

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

  • ベストアンサー
回答No.3

正当なアドレスかというのはチェックできませんが かなりのチェックができるもので、実際に使っているものです function checkEmail(checkString) { var newstr = ""; var at = false; var dot = false; if (checkString == "") return ""; if (checkString.indexOf("@") != -1) at = true; else if (checkString.indexOf(".") != -1) dot = true; for (var i = 0; i < checkString.length; i++) { ch = checkString.substring(i, i + 1) if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z") || (ch == "@") || (ch == ".") || (ch == "_") || (ch == "-") || (ch >= "0" && ch <= "9")) { newstr += ch; if (ch == "@") at = true; if (ch == ".") dot = true; } } if ((at == true) && (dot == true)) return newstr; else { alert("メールアドレスではない文字が入力されています。"); return checkString; } }

milktea_
質問者

お礼

ありがとうございます。たくさんのチェックがなされていますね。 とても勉強になりました。

その他の回答 (2)

  • hequil
  • ベストアンサー率65% (242/372)
回答No.2

strEmail = document.myForm.email; if( strEmail.indexOf('..') >= 0 ){ // エラー } こんな感じでしょうか?

milktea_
質問者

お礼

ありがとうございます。勉強になりました。

noname#1785
noname#1785
回答No.1

indexOfでできませんか? if( form.elements.value.indexOf("..",0) != -1){  alert("エラーです"); } 構文は、 検索される文字列.indexOf("検索する文字列",検索開始位置) となります。 該当があればその位置を返し、なければ-1が返ります。

milktea_
質問者

お礼

ありがとうございます。indexOfですね。 勉強になりました。

関連するQ&A

専門家に質問してみよう