テキストエリアにて、特定文字の個数を数え、指定の数以下ならエラーメッセージ表示というものを実装したいです。
メールアドレス入力欄に、
if( 1:”@”が必須 || 2:"." が最低1つ必要 )
という条件を指定したいのですが、1はクリアでき
いろいろvalueを取得する方法を試してみましたが2が機能しません。
見ていただけないでしょうか?
いくつか試したものを下記の記載いたします。
よろしくお願いいたします。
javascript
1 $("#regoBtn").click(function(){ 2 3 var alert = document.getElementById("erMsgRego"); 4 var nameVal = $("#txtName").val(); 5 var emailVal = $("#txtEmail").val(); 6 7 if (nameVal == "" || nameVal.length < 2) { 8 alert.innerHTML = "Enter your name."; 9 $("#txtName").select(); 10 }else if (emailVal == "") { 11 alert.innerHTML = "Enter your e-Mail."; 12 $("#txtEmail").select(); 13//下記コード 14 }else if (!emailVal.match(/@/) || emailVal.search(.).length == 0){ 15 alert.innerHTML = "E-mail address has to contain \"@\" and at least one \" . \" ."; 16 $("#txtEmail").select(); 17 }else{ 18 alert.innerHTML = "works."; 19 } 20 21 }); 22 23//試して見たもの 24// emailVal.match(/./).length == 0 25// /./.test(emailVal).length < 1 26// emailVal.search(.).length == 0
html
1 <div data-role="fieldcontain"> 2 <label for="txtName">Name:</label> 3 <input type="txtName" name="txtName" id="txtName"/> 4 </div> 5 <div data-role="fieldcontain"> 6 <label for="txtEmail">e-Mail:</label> 7 <input type="txtEmail" name="txtEmail" id="txtEmail"/> 8 </div> 9 10 <p id="erMsgRego" class="erMsg"></p> 11 <button id="regoBtn" data-inline="true">Register</button>
#上記実装後
どれも1だけクリアしてしまうとelseが発動してしまいます。
#追記
1も2も個数は1つあればいいので分ける必要がないことに気付きました。単に @ と . があるかの確認をすればいようです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/11 01:26