テキストフィールドに入力された文字列がメールアドレスかどうかチェックする


動作ブラウザ 【 IE:4.0  NN:4.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × - × -
Macintosh × - × × - -
UNIX - - - - - × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント cForm = document.myFORM.Address.value; check = /.+@.+\..+/; if (!cForm.match(check)) alert("メールアドレスが正しくありません");
説  明 メールアドレスかどうかを調べるには正規表現を使うと便利です。@マークの左側と右側が指定形式かどうかを調べます。正規表現で使う文字列は/.+@.+\..+/のように/〜/で囲みます。フォームで入力された文字列と一致しているかどうかはmatch()を使います。戻り値がnullであれば一致していない、それ以外であれば一致していることになります。
サンプル <html> <head> <title>テキストフィールドに入力された文字列がメールアドレスかどうかチェックする</title> <script Language="JavaScript"><!-- function checkMailAddress() { fOBJ = document.myFORM.address.value; check = /.+@.+\..+/; if (!fOBJ.match(check)) alert("メールアドレスが正しくありません"); } // --></script> </head> <body> <form name="myFORM"> <input type="text" name="address"> <input type="button" value="チェック" onClick="checkMailAddress()"> </form> </body> </html>
補足説明 メールアドレス形式は以下のように指定することもできます。 xxx@xxx.xxx check = /.+@.+\..+/; xxx@〜.com check = /.+@.+\.com$/ (末尾固定) xxx@xxx.comかxxx@xxx.ne.jp check = /.+@.+\.ne\.jp$|.+@.+\.com$/; (末尾固定) xxx@abc.ne.jp check=/.+@.*abc\.ne\.jp.*/(@以降に特定ドメインを含む)

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA