• ベストアンサー

@のチェック方法

OKボタンのチェック処理なのですが、、、 以下の用のチェックでif文にJEmailに@マークが 含まれているかチェックを行いとのですが、 どうすれば宜しいのでしょうか? function onclick_ok() { num = document.fm.JEmail.value; if (num == "") { alert("E-mailアドレスの形式で入力してください。"); document.fm.JEmail.value=""; } }

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

  • ベストアンサー
  • talepanda
  • ベストアンサー率58% (45/77)
回答No.2

if(!num.match(/@/)){alert(...);} だけどvalidなメールアドレス形式かチェックするなら普通は if(!num.match(/^\S+@\S+\.\S+$/)){alert(...);} ですかね。

GON_TA
質問者

お礼

ありがとうございます。解決しました。

その他の回答 (1)

  • Nigun
  • ベストアンサー率22% (200/893)
回答No.1

javaは良く覚えていないのですが、 indexOfを使用して出来ないでしょうか? num = document.fm.JEmail.indexOf('@', 0); if (num == -1) { alert("E-mailアドレスの形式で入力してください。"); document.fm.JEmail.value=""; } }

関連するQ&A

  • 一括で入力のチェックをしたいのです!

    どなたか教えてください・・・ フツー入力チェックを行う場合 <SCRIPT language="JavaScript"> <!-- function Check(){ if(document.myform.Name.value==""){ alert("名前を入力してください。"); return false; } if(document.myform.Email.value==""){ alert("Eメールアドレスを入力してください。"); return false; } if(document.myform.Email.value.indexOf("@")<=0){ alert("Eメールアドレスが正しくありません。"); return false; } if(document.myform.Comment.value==""){ alert("コメントを入力してください。"); return false; } return true; } // --> </SCRIPT> こんなカンジで各フォーム毎にチェックを行い メッセージを出したりすると思うのですが、 フォーム数が多いため、入力のチェックを 一括で行いたいのですが・・・ JavaScriptを始めて間もないため とんちんかんな質問をしている様でしたら すみません。 どなたか入力チェックを一括で出来る方法を 教えて頂けないでしょうか・・・ お願いします。

  • メールアドレスの入力チェックをして、正しくなければ戻る方法

    今、フォームを作っているところなのですが、 各必須事項は入力されていないと戻るように設定していますが、同じ形でメールアドレスもチェックしたいのですが、その際にxxx@***.xxxという正規の形でないと引っ掛かるようにしたいのですが、どうすればよいでしょうか?お分かりの方、是非教えてください。 よろしくお願いします。 -------------------------------------------- 現在のスクリプトは以下のような感じです。 これでは、大文字などでメールアドレスを入れられてもチェックを通してしまいますので。。 function check(){ if(document.FF.お名前_漢字.value == ""){ alert("お名前_漢字を入力してください"); document.FF.お名前_漢字.focus(); return(false); } if(document.FF.住所.value == ""){ alert("住所を入力してください"); document.FF.住所.focus(); return(false); } if(document.FF.email.value == ""){ alert("メールアドレスを入力してください"); document.FF.email.focus(); return(false); } return(true); } -------------------------------------------- そして送信ボタンを押すと、このスクリプトが働くように、 onSubmit="return check()" を設定しています。

  • document.allはネスケでは使えない?

    下記だとIEでもネスケでも動くのですが、 document.Myform.email.value; 下記だとネスケで動きません。 document.all.email.value; 何かいい方法はないでしょうか・・。 function checkMailAddress() { fOBJ = document.main.email.value; check = /.+@.+\..+/; if (!fOBJ.match(check)) alert("メールアドレスが正しくありません"); }

  • 小数点入力チェック

    以下の処理を入力チェックしたいのですが、どうしたら宜しいのでしょうか?お願いします。 num="1.999" →OK num="1.11" →OK num="1" →OK num="11.11" →NG if(!num.match(/[0-9]*\.[0-9][0-9][0-9]+/)){ alert("小数点形式[0.001~9.999]の範囲で入力してください。"); return; }

  • フォームのチェックについて

    今、フォームの送信ボタンを押すとチェックする 関数を作成しております。 function restChar() { if(10000 < document.F1.ご質問内容.value.length) window.alert("ご質問内容は全角5,000字以内でお願いします"); } function check(){ var flag = 0; if(document.F1.name.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.F1.kana.value == ""){ // 「パスワード」の入力をチェック flag = 2; } else if(document.F1.mail.value == ""){ // 「コメント」の入力をチェック flag = 3; }      else if(document.F1.ご質問内容.value == ""){ // 「コメント」の入力をチェック flag = 4; } if(flag == 1){ window.alert('お名前を入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 2){ window.alert('フリガナを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 3){ window.alert('メールアドレスを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 }      if(flag == 4){ window.alert('ご質問内容を入力して下さい'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } fOBJ = document.F1.mail.value; check = /.+@.+\..+/; if (!fOBJ.match(check)){ window.alert("メールアドレスが正しくありません"); return false; // 送信を中止 } fOBJ = document.F1.ご質問内容.value.length; if(10000 < fOBJ){ window.alert("ご質問内容は全角5,000字以内でお願いします"); return false; // 送信を中止 } return true; // 送信を実行 } こんな感じです。 1-4のチェックは問題ないのですが、 アドレスと文字数のチェックは、一度は ダイアログがでますが、連続で押すと通ってしまいます。 何がわるいのでしょうか?

    • ベストアンサー
    • Java
  • windowオブジェクトの操作

    登録フォームを作成しています。 登録内容に誤りがなければ次のページへ飛び、登録内容に誤りがある場合は再度同じページで登録させる(次のページにはいかないようにさせたい。)というふうにしたいのですがどうすればよいでしょうか? function mailcheck(){ var tmail = document.form.temail.value; var mail = document.form.email.value; if(tmail != mail){ window.alert("E-Mailが一致しません!"); ★ } else if((tmail == "") | (mail == "")){ window.alert("E-Mail記入されていません! "); ★ } } <input type="submit" value="確認" name="submit" onclick="mailcheck()"> この場合は★マークの所でwindowオブジェクトだけで操作できるのでしょうか?

  • If文を2つ並べると2つ目の文が実行されない。

    プログラムの中で*A*のIf文は実行されますが、*B*のIf文は実行されません。 何故でしょうか?教えて下さい。 ちなみに、<中略>の部分にもIf文は同じ様にあります。(内容は違うけど) <SCRIPT language="javascript"><!-- function ka() { ******<中略>****** *A* if (document.fomu.email.value ==""){        alert ("メールアドレスを記入して下さい。");        fomu.email.focus();        return false; } *B* if (document.fomu.email.value.match(/\w+@\w+/){        alert ("正しくメールアドレスを記入して下さい。");        fomu.email.focus();        return false; } ******<中略>******* } //--></SCRIPT>

  • onClickイベントの変更方法

    JavaScriptのonclickイベントについてですが、  <form name="fm">  <input type="button" name="bt" value="開始" onclick="Change(1)"> という感じのフォームで、ボタンを押すとChange関数の方で、  if(f == 1) {    document.fm.bt.value="停止";    document.fm.bt.onclick="Change(0)"; //(A) として、onclickイベントの内容を変更したいのですが、 実際には上のような(A)の文では、 エラーは出ませんが、イベントの実行はできません。 onclickイベントの変更方法をご教授下さい。 ちなみに、プログラム自体は別の方法で対処しましたので、 「もっといい方法がある」というご回答は結構です。 それと、もう一つ教えていただきたいのですが、上の例で、  document.writeln(document.fm.bt.onClick); と実行すると"undefined"と表示されますが、  document.writeln(document.fm.bt.onclick); //(onClickのCが小文字) と実行すると"function anonymous() { Change(1) } "と表示されます。 大文字と小文字で、なぜ動作が変わるのでしょうか? ご教授下さい。

  • 検索フォームの入力値のチェック

    以下は、いくつもある検索フォームの中のテキストボックスの一つです。 ここに、次のエラーチェックを仕込みたいのですが。 (1) 17で始まる8桁数字以外はアラートを出す。NULLもダメ。 (2) 半角数字以外が入力されたときは、フォーカスが離れた時アラートを表示NULLはOK。 (3) ここに示していないその他のフォームを含め、一個でも上記エラーがあったら   検索ボタン押下時にアラートを出し、POSTを許可しない。 いろいろエラーになったり、(1) ができてなかったりで、すみませんが 完璧にするためのアドバイスいただけないでしょうか。IE6オンリーで十分です。 <html> <head> <script type="text/javascript"> function NullCheck() { if ( document.query.numberform.value=="" ) { alert( "必ず17で始まる半角数字8桁で指定してください。\n例:17910031" ); return 1; } return false; } function NumbCheck() { var str = document.query.numberform.value; if( str.match( /[^0-9]+/ ) ) { alert("不正な値がみつかりました。"); return 1; } return 0; } /* 全部チェック */ function AllCheck() { var check = 0; check += NullCheck01(); check += nmck09(); if( check > 0 ) { return false; } return check; } </script> </head> <body> <form method="post" action="list.php" target="list" id="query" name="query"> <input value="17000000" size="10" type="text" name="numberform" onblur="NumbCheck();NullCheck();">から <input type="submit" name="exec" value="検索" onclick="return AllCheck();"> </form> </body> </html>

  • Javascriptでセレクトメニューの選択チェックの方法

    Javascriptでセレクトメニューのフォームをチェックしたいのですが、 リストメニューの「選択して下さい」を選んだままだと、「番号を選択して下さい。」とエラーを出したいのですが、下記の様に書いてみたのですが、うまく動きません…どのように書けばいいか教えて下さい。宜しくお願いします。 <script language=\"JavaScript\"> <!-- function Check() { var str = document.form.a.value; if(document.form.a.value == "0") { alert("番号を選択して下さい"); } //--> </script> <form id="form" name="form" method="post" action="##"> <select name="a" onblur="Check();"> <option value="0">選択して下さい</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="submit" name="Submit" value="登録" onClick="Check();"> </form>

専門家に質問してみよう