2017-01-24 19 views
0

私は以下のフォームを持っています。電子メールフィールド.itを検証するには、ユーザーがサブミットをクリックしたときにドメイン名 "@ somename.com"のみを含める必要があります。特定のドメイン名に対する電子メールの妥当性確認

電子メールフィールドを表示するには、チェックボックスをクリックしたときにのみメールを検証する必要があります。

電子メールが無効である場合、私はあなたの電子メールをテストするには、以下の機能を使用して提出

<form class="form-horizontal" id="rForm" data-toggle="validator" role="form"> 

         <div class="form-group"> 
          <div class="col-xs-offset-3 col-xs-8"> 
           <label class="checkbox-inline col-xs-10"> 
            <input type="checkbox" ID="chkbx"> Email 
           </label> 
          </div> 

         </div> 
         <div class="form-group email"> 
          <div class="col-xs-offset-3 col-xs-8"> 

           <div class="col-xs-8"> 
            <input type="text" class="form-control " placeholder="Enter email"> 
           </div> 
          </div> 
         </div> 

           <div class="form-group"> 
          <div class="col-xs-offset-3 col-xs-8"> 
           <input type="reset" class="btn btn-default" id="rset" value="Reset"> 
           <input type="submit" class="btn btn-primary" id="submit" value="Submit"> 
          </div> 
         </div> 
        </form> 

JS

$("#submit").on('keypress click', function(e){ 
      e.preventDefault(); 
$('#chkbx').hide(); 
$('#chkbx').click(function() { 
     // This will show/hide your element accordingly 
     $('.email').toggle(); 
}); 


    }); 
+0

ので、テキストはindexOfのか、正規表現であるかどうかを調べます。 – epascarello

答えて

-1

ないようにしたいです。 EDITは:

<input type="text" class="form-control " placeholder="Enter email" name="email" id="email">

してから実行します:

あなたは最初の必要性は、あなたが何をしたいです....メール入力欄にname=id=追加する

function testEmail(string) { 
    var regex = /[email protected]$/i; 
    return regex.test(string); 
} 

//testEmail("[email protected]"); // false 
//testEmail("[email protected]omename.com.other"); //false 
//testEmail("[email protected]"); //true 
//testEmail("@somename.com"); // false 

$('form').submit(function(e){ 
    var values = $('form').serialize(); 
    if(!testEmail(values.email)) 
     e.preventDefault(); 
    // your submission code goes here. 
}) 
0

チェックアウトJavaScript RegEx to determine the email's domain (yahoo.com for example)。あなたはそれを使用して、あなたの例を拡張することができます。

$('#chkbx').click(function() { 
 
    // This will show/hide your element accordingly 
 
    $('.email').toggle(); 
 
}); 
 

 

 
$("#submit").on('click', function(e) { 
 
    e.preventDefault(); 
 
    if ($('#chkbx').is(':checked')) { 
 
    // https://stackoverflow.com/questions/3270185/javascript-regex-to-determine-the-emails-domain-yahoo-com-for-example 
 
    console.log(/@testdomain.com\s*$/.test($('#email_input').val())); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form class="form-horizontal" id="rForm" data-toggle="validator" role="form"> 
 

 
    <div class="form-group"> 
 
    <div class="col-xs-offset-3 col-xs-8"> 
 
     <label class="checkbox-inline col-xs-10"> 
 
     <input type="checkbox" ID="chkbx" checked>Email 
 
     </label> 
 
    </div> 
 

 
    </div> 
 
    <div class="form-group email"> 
 
    <div class="col-xs-offset-3 col-xs-8"> 
 

 
     <div class="col-xs-8"> 
 
     <input id="email_input" type="text" class="form-control " placeholder="Enter email"> 
 
     </div> 
 
    </div> 
 
    </div> 
 

 
    <div class="form-group"> 
 
    <div class="col-xs-offset-3 col-xs-8"> 
 
     <input type="reset" class="btn btn-default" id="rset" value="Reset"> 
 
     <input type="submit" class="btn btn-primary" id="submit" value="Submit"> 
 
    </div> 
 
    </div> 
 
</form>

+0

メールアドレスに末尾のスペースを許可する理由がわかりません。 – Ouroborus

+0

ユーザの入力を受け入れる利便性以外にも頭の上にあるユースケースを考えることはできませんが、もちろん値をトリムしたり、空白や数量化文字を削除したりすることができます –

関連する問題