• ベストアンサー

メールアドレス確認 javascriptについて

入力フォームのメール項目にて 1.メールアドレスチェック 2.メールアドレス(確認用) のアラート設定を行いたいのですが、下記、javascriptの変更をどのように行っていいかが分からず困っています。 どなたかご回答お願いできますでしょう!? ------javascript部分-------------- <script language="JavaScript" type="text/javascript"> function CheckForm(theform) { var FormOK = false; if (theform.email1.value == "") { FieldControl(theform.To, "「メールアドレス」を入力してください。"); }else if (theform.email2.value == "") { FieldControl(theform.To, "「メールアドレス(確認用)」を入力してください。"); }else if (theform.email2.value == "") { FieldControl(theform.To, "入力されたものが一致するように入力してください。"); }else { FormOK = true; } return FormOK; } function FieldControl(element, message) { alert(message); } </script> ------HTML部分-------------- <form action="" method="post" name="theform" onsubmit="return CheckForm(this);"> メールアドレス:<input size="40" name="email1">(半角英数字)<br><br> 確認用】:<input size="40" name="email2"><br><br> <input value="確認画面へ" name="submit" type="submit"> </form> 宜しくお願い致します。

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

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

答えを出すのは簡単なのですが、 やりたいことと、実際が違うわけですよね。 このソースを見て、その違う部分がどこか分かりますか? さらに、そのやりたいことをコード化すれば、おのずとわかると 思いますが。。。 }else if (theform.email2.value == "") { → }else if (theform.email2.value != theform.email1.value ) {

webnao777
質問者

お礼

なるほど!早速の回答ありがとうございます。 初心者なもので、すいません。 教えて頂いた変更でメールの一致確認ができました。 ありがとうございます! もうひとつ教えて頂きたいのですが、メールアドレスの確認等はどのような書き方になりますか? aaaa@aaaa.co.jp 等のチェックです。 宜しくお願い致します。

その他の回答 (3)

回答No.4

http://www.google.co.jp/search?hl=ja&q=javascript+%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9+%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE&lr=&aq=f&oq= ↑の検索結果から質問者さんのニーズ(仕様)にあったスクリプトを記述してください。(どのような結果が正しいのかは質問者さんしか知り合えない情報ですので)

webnao777
質問者

お礼

いろいろとありがとうございました!

回答No.3

では、メールアドレスの欄に「@」だけが入力されてもメールアドレスが正しいということになりますが問題ありませんか?

webnao777
質問者

補足

たしかにそうですね・・・ キチンとした設定にするには、どのような変更になりますでしょうか? お手数ですが、書き方を教えて頂きますでしょうか? 宜しくお願い致します。

回答No.2

ヒント:正規表現 ただしRFC準拠だとDocomoとかauのアドレスが弾かれるものがあるので注意。

webnao777
質問者

お礼

ヒントありがとうございます。 とりあえず、下記の書き方で対応したいと思いまして・・・ if(document.myform.email.value.indexOf("@")<=0){ alert("Eメールアドレスが正しくありません。"); return false; ありがとうございました。

関連するQ&A

  • チェックボックスのjavascriptについて

    javascript初心者です! お力をお借りしたいと思い質問いたしました。 宜しくお願い致します。 ●やりたい事 ・チェックボックスがチェックされてない時に「商品を選択して下さい」のアラートを表示させ、1つでもチェックされていた場合は「送信」できる設定を行いたいです。 「name= 」 部分を同じ名前にすると可能ですが、異なる名前にすると動作いたしません。 どうかご教授お願い致します。 ■javascript部分 <script language="JavaScript" type="text/javascript"> function CheckForm(theform) { var FormOK = false; if (!theform.category1[0].checked && !theform.category2[1].checked && !theform.category3[2].checked && !theform.category4[3].checked && !theform.category5[4].checked) { alert("商品を選択してください。"); }else{ FormOK = true; } return FormOK; } function FieldControl(element, message) { alert(message); } </script> ■HTML部分 <form name="theform" onsubmit="return CheckForm(this);" action="" method="post"> <input value="category1" name="category1" type="checkbox">category1<br> <input value="category2" name="category2" type="checkbox">category2<br> <input value="category3" name="category3" type="checkbox">category3<br> <input value="category4" name="category4" type="checkbox">category4<br> <input value="category5" name="category5" type="checkbox">category5<br><br> <br> <br> <input value="送信" name="submit" type="submit"></form> 宜しくお願い致します。

  • 電話番号チェックアラートについて【javascript】

    入力フォームアラート設定について、教えて下さい。 やりたい事。 1.入力項目の値が空白の場合は【「電話番号」を入力してください】を表示。 2.入力項目の値が電話番号の形式でない場合は、【「電話番号」を[xxxx-xxxx-xxxx]形式で入力してください。】を表示。 3.電話番号形式でも13桁以上の場合は、【「電話番号」は「-」を含む半角12~13桁です。】を表示 とアラートを表示させる設定を行っているのですが、下記、内容をどのような形に変更すればいいかがわからず困っております。 どなたかご回答いただけませんでしょうか? javascript初心者なもので細かい書き方がわかりません。 ----javascript-------------------------------- <script language="JavaScript" type="text/javascript"> function CheckForm(theform) { var FormOK = false; if (theform.tel.value =="") { FieldControl(theform.To, "「電話番号」を入力してください。"); }else if (theform.tel.value =="") { FieldControl(theform.To, "「電話番号」を[xxxx-xxxx-xxxx]形式で入力してください。"); }else if (theform.tel.value == "") { FieldControl(theform.To, "「電話番号」は「-」を含む半角12~13桁です。"); }else{ FormOK = true; } return FormOK; } function FieldControl(element, message) { alert(message); } </script> -------HTML----------------- <form action="" method="post" name="theform" onsubmit="return CheckForm(this);"> <p>電話番号:<input size="13" name="tel"></p> <input value="確認画面へ" name="submit" type="submit"> </form> 宜しくお願い致します。

  • Javascript onsubmit記述方法

    サイト制作をしているのですが、行き詰った箇所を教えてください。 form内でEnterキーを押したときに送信ページに飛んでしまわずに、次項目へ行くように(Tabの役割)するJavascriptと、確認用メールアドレスの項目を作るためのJavascriptを併用したいのですが、 onsubmitに"return CheckForm(this);"と"javascript:pageTracker._linkByPost(this)"を並列させる必要があるようなのですが、書き方を教えてください。 もし、そもそもの記述が間違っていたらご指摘ください。 ---- Javascript部分 <script type="text/javascript"> /*********************************************** * Disable "Enter" key in Form script- * By Nurul Fadilah(nurul@REMOVETHISvolmedia.com) ***********************************************/ function handleEnter (field, event) { var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; if (keyCode == 13) { var i; for (i = 0; i < field.form.elements.length; i++) if (field == field.form.elements[i]) break; i = (i + 1) % field.form.elements.length; field.form.elements[i].focus(); return false; } else return true; } </script> <script language="JavaScript" type="text/javascript"> function CheckForm(theform) { var FormOK = false; if (theform.mailaddress.value == "") { FieldControl(theform.To, "「メールアドレス」を入力してください。"); }else if (theform.mailaddresscheck.value != theform.email1.value ) { FieldControl(theform.To, "「メールアドレス(確認用)」を入力してください。"); }else if (theform.mailaddresscheck.value != theform.email1.value ) { FieldControl(theform.To, "入力されたものが一致するように入力してください。"); }else { FormOK = true; } return FormOK; } function FieldControl(element, message) { alert(message); } </script> ------- HTML部分(現状"Enter" key in Formのみ実装) <form action="" method="post" onSubmit="javascript:pageTracker._linkByPost(this)"> <table class="contact"> <tr> <th>メールアドレス <span class="red">※</span></th> <td><input type="text" name="mailaddress" id="textfield" class="type01" onkeypress="return handleEnter(this, event)" /></td> </tr> <tr> <th>メールアドレス確認用 <span class="red">※</span></th> <td><input type="text" name="mailaddresscheck" id="textfield" class="type01" onkeypress="return handleEnter(this, event)" /></td> </tr>

  • javascriptでメールアドレスが同一か確認

    javascriptでメールアドレスが同一か確認 現在、問い合わせフォームをつくっております。 必須項目を部分的に作るのまではできたのですが、 メールアドレスを必須項目にしつつ、 メールアドレス確認の欄で同一のアドレスが記入されているのかを確かめ、 違った場合は「違います」とアラートをだしたいのです。 どのようにしたらいいのでしょうか? 急ぎの為大変困っております。 どうかご回答お願い致します。 以下はこちらのサイトを参考に作成しました http://f32.aaa.livedoor.jp/~azusa/?t=js&p=formcheck#a_chkHissu ------java部分----- <script type="text/javascript"> function sample(frm){ /* 必須入力のname属性 */ var hissu=Array("name","hurigana","mail","mail2","naiyo"); /* アラート表示用 */ var hissu_nm = Array("お名前","ふりがな","メールアドレス","メールアドレス確認","内容"); /* 必須入力の数 */ var len=hissu.length; for(i=0; i<len; i++){ var obj=frm.elements[hissu[i]]; /* テキストボックス or テキストエリアが入力されているか調べる */ if(obj.type=="text" || obj.type=="textarea"){ if(obj.value==""){ /* 入力されていなかったらアラート表示 */ alert(hissu_nm[i]+"は必須入力項目です"); /* 未入力のエレメントにフォーカスを当てる */ frm.elements[hissu[i]].focus(); return false; } }else{ /* radioボタンがチェックされているか調べる */ for(var j=0, chk=0; j<obj.length; j++){ /* チェックされていたらchkフラグをプラス */ if(obj[j].checked) chk++; } if(chk==0){ /* 1つもチェックされていない場合はfalseを返してフォーム送信しない */ alert(hissu_nm[i]+"は必須入力項目です"); return false; } } } /* 必須入力項目が全て入力されている場合はtrueを返してフォーム送信 */ return true; } </script> ------html部分----- <form action="mail/●◎●.php" name="toiawase" method="post" onsubmit="return sample(this)"> ~省略~ メールアドレス<input type="text" name="mail" value="" size="35" maxlength="60"> メールアドレス確認<input type="text" name="mail2" value="" size="35" maxlength="60"> </form> 宜しくお願い致します。

  • javascriptを勉強し始めました

    それで簡単なアンケートを作りたいと思い、入力フォームを作って間違えている箇所があれば確認ボタンを押したときに入力に誤りがある項目をアラートで出し、そのアラートに誤っている項目をそのアラート一つにまとめて出したいのですが、出ません。わかないので質問させていただきました。よろしくお願いします。ソースになります。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>課題</title> <script language ="javascript"> <!-- function datachk(){ if(document.form1.last.value == "") { alert("・氏名(姓)が入力されていません。"); }else{ if(document.form1.last.value.match( /[^一-龠ァ-ヶぁ-ゞA-Z]+/ ) ){ alert("・氏名(姓)は、全角文字のみで入力して下さい。"); }else{ if(document.form1.first.value == "") { alert("・名前(名)が入力されていません。"); }else{ if(document.form1.first.value.match( /[^一-龠ァ-ヶぁ-ゞA-Z]+/ ) ){ alert("・名前(名)は、全角文字のみで入力して下さい。"); } } } } } //--> </script> </head> <body> <div align="center"> 情報入力 </div><br> <br> 以下に、情報を入力してください。<br> <br> <form name = "form1"> *氏名(姓): <input type = "text" name = "last" value = ""><br> (全角10字入力可)<br> *氏名(名): <input type = "text" name = "first" value = ""><br> (全角10字入力可)<br> *性別: <input type = "radio" name = "men" value = "男">男 <input type = "radio" name = "women" value = "女">女<br> <input type="button" value="回答" onClick="javascript:datachk();"><br> </form> </body> </html>

  • Javascriptで必須項目とメールアドレスチェックを同時に行いたいのですが…

    Javascriptで入力フォームの必須項目とメールアドレスのチェックを行いたいため、下記の様に設定したのですが、メールアドレスが入っているか確認後、メールアドレスのチェックを行うにはどのように書けばいいでしょうか?(現在は、Emailは必ず入力して下さい。Emailアドレスをご確認下さい。のalertが同時にでてしまいます。)宜しくお願いします。 <script type="text/javascript"> <!-- function FormCheck(Form) { Error = new Array(); i = 0; // 選択リストのチェック if ((Form["naiyou"]) && (Form["naiyou"][0].selected == true)) { Error[i] = "お問合せ内容を選択して下さい。"; i++; } // 名前の入力チェック if ((Form["name"]) && (Form["name"].value == "")) { Error[i] = "お名前は必ず入力して下さい。"; i++; } // emailの入力チェック if ((Form["email"]) && (Form["email"].value == "")){ Error[i] = "Emailは必ず入力して下さい。"; i++; } if ((Form["email"]) && (!Form["email"].value.match(/^[A-Za-z0-9]+[\w-]+@[\w\.-]+\.\w{2,}$/))){ Error[i] = "Emailアドレスをご確認下さい。"; i++; } // 未入力があればアラート if (Error.length > 0) { ErrorText = Error.join("\n"); alert (ErrorText); return false; } } // --> </script>

  • JavaScript でメールアドレスのチェックをするには・・・?

    入力フォームで正しいメールアドレスが入力されたのかを確認するため、以下のようなJavaScriptを記述しましたが、動作しません。 関数FormCheckは動作するのですが、関数Checkは動作しません。 現状では、メールアドレスを入力する欄に「www」とだけ入力しても チェックされないので、その他の入力項目がきちんと入力できていれば メール送信されてしまいます。 どのようにすればこのCheck関数が動作するのかどなたか教えていただけないでしょうか?よろしくお願いします。 --------------------Java Script 部分--------------------------- <script language="JavaScript"> <!-- //必須項目のチェック function FormCheck(Form) { Error = new Array(); i = 0; // 氏名の入力チェック if ((Form["name"]) && (Form["name"].value == "")) { Error[i] = "氏名は必須項目です。"; i++; } // メールアドレスの入力チェック if ((Form["email"]) && (Form["email"].value == "")) { Error[i] = "メールアドレスは必須項目です。"; i++; } // 質問したい支店の選択チェック if ((Form["address"]) && (Form["address"][0].selected == true)) { Error[i] = "質問したい支店は必須項目です。"; i++; } // 未入力があればアラート if (Error.length > 0) { ErrorText = Error.join("\n"); alert ("未入力項目があるので送信できません。\n\n"+ErrorText); return false; } } // --> <!-- //メールアドレスチェック var mail; function Check(){ mail = document.myform.email1.value; if(!mail.match(/.*@.*\..*/i)){ alert("メールアドレスが不正です。"); } } // --> </script> --------------------HTML 部分----------------------------------- <body> <table width="419" height="453"> <tr> <td width="732"> <form action="./cgi/test/sendmail.cgi" name="myform" method="POST" target="_self" onSubmit="return FormCheck(this);Check()"> <table width="481"> <!--氏名を入力 --> <tr> <td><strong>氏名</strong></td> <td><input type="text" name="name" size="30" maxlength="50"></td> </tr> <!--メールアドレスを入力 --> <tr> <td><strong>メールアドレス</strong></td> <td><input type="text" name="email" size="50" maxlength="60"></td> </tr> <!--支店選択 --> <tr> <td><strong>質問したい支店</strong></td> <td> <select name="address"> <option value="" selected></option> <option value="aaa@hoemail.com">A支店</option> <option value="bbb@hoemail.com">B支店</option> <option value="ccc@hoemail.com">C支店</option> </select> </td> </tr> </table> <!--送信・キャンセルボタン --> <center> <table> <tr> <td><input type="submit" name="submit" value="送 信"></td> <td><input type="reset" name="reset" value="キャンセル"></td> </tr> </table> </center> </form> </td> </tr> </table>

  • フォームから送信されたメールアドレスの表示ですが・・

    スクリプトでメールフォームを設置したのですが、送信されるメールアドレスが下記のように表示されます。クリックしてすぐに返信したいので、アドレスだけ表示されるようにしたいのですが、どうしたらいいかご存知の方がいらっしゃいましたらよろしくお願いします。 <ソース> <INPUT TYPE=HIDDEN NAME="題名" VALUE="フォームメール"><INPUT TYPE=HIDDEN NAME="題名" VALUE="フォームメール"> <FORM ENCTYPE="text/plain" METHOD="POST" ACTION="mailto:***@******.com"><INPUT TYPE=HIDDEN NAME="題名" VALUE="フォームメール">■お名前:<BR> <INPUT TYPE=TEXT NAME="名前" SIZE=40><BR> <BR> ■E-Mail:<BR> <INPUT TYPE=TEXT NAME="e-mail" SIZE=40><BR> <BR> ■性別:<BR> <INPUT TYPE=RADIO NAME="性別" VALUE="男" CHECKED>男性 <INPUT TYPE=RADIO NAME="性別" VALUE="女">女性<BR> <BR> ■お問い合わせ内容:<BR> <TEXTAREA name="メッセージ" rows="7" cols="49"></TEXTAREA><BR> <BR> <INPUT TYPE=SUBMIT VALUE="送信する"> <INPUT type="reset" name="クリア"></FORM> このように表記すると、 題名=フォームメール 名前=***** e-mail=*****@*****.com 性別=男性 メッセージ=これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです となり、「e-mail=*****@*****.com」がアドレスとなってしまいます。 「e-mail=」が表示されないようにするか、表示されても「e-mail=」がアドレスとして認識されないようにしたいのですが・・・よろしくお願いします。

  • javascriptをはじめて勉強しているものです。

    javascriptをはじめて勉強しているものです。 すみません。 以下のソースで、フォームがサブミットされたら、 inputの中身の値をチェックするものです。 chkValue()実行時、 emailアドレスの入力形式をチェックする関数をいれていますが、 こちらが、意図した動作をしません。(GETされてしまう) 原因教えていただきたいです。 お手数をお掛けしますが、どうぞよろしくお願いいたします。 <html> <head> <script type ="text/javascript"> <!-- function chkNum(T){ if(T.value.match(/[^0-9]/g)){ T.value=""; alert("数値以外は入力できません。"); } } function chkValue(){ if(document.myform.tboxInt.value.match(/[0-9]{4}/)){ document.myform.tboxInt.style.backgroundColor="#000"; }else{ alert("4桁の数字でないといけません。"); document.myform.tboxInt.style.backgroundColor="#f99"; document.myform.tboxInt.focus(); return false; } if(document.myform.tboxemail.value.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)){ alert("ok"); }else{ document.myform.tboxEmail.value=""; alert("正しいメールアドレス形式で入力してください。"); document.myform.tboxemail.style.backgroundColor="#f99"; document.myform.tboxemail.focus(); return false; } alert(document.myform.tboxemail.value); alert("ok2") return true; } //--> </script> </head> <body> <form name="myform" onSubmit="return chkValue()"> <table border="1"> <tr> <td>数値フィールド</td> <td><input type="text" name="tboxInt" onkeyup="chkNum(this)"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="tboxemail"></td> </tr> </table> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <input type="submit" value="確認"> </form> </body> </html>

  • メールフォームにある必須入力について

    こんばんは、今メールフォームを作っています。入力画面→確認画面→完了ページという流れで作ったのですがよく必須項目に何も入れなかったり、間違った文字をいれたりするとエラーページが表示されるようにしたいと思っているのですが、なかなか上手くできません。下記のスクリプトからだとどうやってやったら良いのでしょうか?よろしくおねがいします。 <?php if (! isset($_POST[btn1]) and! isset($_POST[btn2]) and! isset($_POST[cancel])) { //入力画面 $body = "必要な項目を入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:<INPUT size='40' type='text' name='name'><BR><BR> フリガナ:<INPUT size='40' type='text' name='kana'><BR><BR> 電話番号:<INPUT size='40' type='text' name='tel'><BR><BR> E-Mailアドレス:<INPUT size='40' type='text' name='email'><BR><BR> お問い合わせ内容:<BR><TEXTAREA rows='6' cols='40' name='inquiry'></TEXTAREA><BR><BR> <INPUT type='submit' name='btn1' value=' OK '> </FORM>"; } elseif (isset($_POST[btn1])) { //入力画面で[OK]がクリックされたとき $name = htmlspecialchars(stripcslashes($_POST[name])); $kana = htmlspecialchars(stripcslashes($_POST[kana])); $tel = htmlspecialchars(stripcslashes($_POST[tel])); $email = htmlspecialchars(stripcslashes($_POST[email])); $inquiry = htmlspecialchars(stripcslashes($_POST[inquiry])); $body = "ご入力した内容でメッセージを送信します。<BR> よろしければ[送信]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> フリガナ:$kana<BR><BR> 電話番号:$tel<BR><BR> E-Mailアドレス:$email<BR><BR> お問い合わせ内容:<BR>" . nl2br($inquiry) . "<BR><BR> <INPUT type='submit' name='btn2' value=' 送信 '> <INPUT type='submit' name='cancel' value='キャンセル'> <INPUT type='hidden' name='name' value=\"$name\"> <INPUT type='hidden' name='kana' value=\"$kana\"> <INPUT type='hidden' name='tel' value=\"$tel\"> <INPUT type='hidden' name='email' value=\"$email\"> <INPUT type='hidden' name='inquiry' value=\"$inquiry\"> </FORM>"; } elseif (isset($_POST[btn2])) { //確認画面で[送信]がクリックされたとき //メールの送信処理を行う $name = stripcslashes($_POST[name]); $kana = stripcslashes($_POST[kana]); $tel = stripcslashes($_POST[tel]); $email = stripcslashes($_POST[email]); $inquiry = stripcslashes($_POST[inquiry]); $mailto = "kuma202000@yahoo.co.jp"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n" . "---------------------------------------------\n" . "名前:$name \n" . "フリガナ:$kana \n" . "電話番号:$tel \n" . "E-Mailアドレス:$email \n" . "メッセージ:$inquiry \n" . "---------------------------------------------\n"; mb_language("ja"); if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) { $body = "メールを送信しました。ありがとうございました。<BR><BR>"; } else { $body = "メールの送信に失敗しました。<BR><BR>"; } $body .= "<A href='$_SERVER[PHP_SELF]'>戻る</A>"; } elseif (isset($_POST[cancel])) { //確認画面で[キャンセル]がクリックされたとき header("location: $_SERVER[PHP_SELF]"); exit(); } ?> <HTML> <HEAD> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • 締切済み
    • PHP

専門家に質問してみよう