2016-10-01 6 views
2

最大番号11の条件の携帯電話番号を受け入れるフォームの入力を検証するために以下のコードを書いています。そうでない場合はエラーを表示してください:moble番号への入力ファイルの妥当性を検証する方法

私は関数を書きましたが、正しく機能しません。私が11を超える数を置くと、フォームは真実になります。 0でない数字を書いたとしても、それは受け入れられます。 ここに私のコードです:私はあなたの問題から得たもの

$('#mobili').focusout(function() { 
 
    $('#mobili').filter(function() { 
 
     var mobi = $('#mobili').val(); 
 
     var mobiback = $('#mobili'); 
 
     var mobilReg = /(\+989|9|09)(12|19|35|36|37|38|39|32)\d{7}/; 
 
     if (!mobilReg.test(mobi)) { 
 
      $('#mobili').css('background-color', '#ff6666'); 
 
      $("#error-nwl").css('color', '#ff6666'); 
 
      $("#error-nwl").text("please enter a valid mobile number"); 
 
     } else { 
 
      $('#mobili').css('background-color', '#66cc66'); 
 
      $("#error-nwl").css('color', '#66cc66'); 
 
      $("#error-nwl").text("ok"); 
 
     } 
 
    }) 
 
});
<html> 
 

 
<head> 
 
    <title>Untitled Document</title> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
</head> 
 

 
<body> 
 
    <form id="myform"> 
 
     <input type="tel" name="field1" id="mobili" /> 
 
     <input type="submit" /> 
 
     <div id="error-nwl"></div> 
 
    </form> 
 
</body> 
 

 
</html>

+2

私は '^'あなたは文字列の先頭を追加する場合と信じていると、文字列の末尾 '$は'あなたが望む通りに働くだろうアンカー。 \/\(989 | 9 | 09)(12 | 19 | 35 | 36 | 37 | 38 | 39 | 32)\ d {7} $/' –

+0

数字は11桁で始まり、 0、しかしあなたの正規表現は、0から始まる10桁のグループ、09から始まる11桁、または+989から始まる12桁のグループを取得します。 Gabyのコメントは、アンカーの追加については正しいですが、実際にどのような番号を取得しようとしていますか? – denmch

+0

@denmch携帯電話の番号を0から始めると入力します – inaz

答えて

1

は、あなたがそう、正規表現を使用し、0から始まる11桁の番号を受け入れるべきフィールドを検証するための正規表現が必要である

/^([0][0-9]{10})$/ 

と入力で最大長を固定することもできます。

maxlength="11" 

$('#mobili').focusout(function() { 
 
    $('#mobili').filter(function() { 
 
     var mobi = $('#mobili').val(); 
 
     var mobiback = $('#mobili'); 
 
     var mobilReg = /^([0][0-9]{10})$/; 
 
     if (!mobilReg.test(mobi)) { 
 
      $('#mobili').css('background-color', '#ff6666'); 
 
      $("#error-nwl").css('color', '#ff6666'); 
 
      $("#error-nwl").text("please enter a valid mobile number"); 
 
     } else { 
 
      $('#mobili').css('background-color', '#66cc66'); 
 
      $("#error-nwl").css('color', '#66cc66'); 
 
      $("#error-nwl").text("ok"); 
 
     } 
 
    }) 
 
});
<html> 
 

 
<head> 
 
    <title>Untitled Document</title> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
</head> 
 

 
<body> 
 
    <form id="myform"> 
 
     <input type="tel" name="field1" id="mobili" maxlength="11" /> 
 
     <input type="submit" /> 
 
     <div id="error-nwl"></div> 
 
    </form> 
 
</body> 
 

 
</html>

関連する問題