2017-02-17 52 views
2

我大家對我有一個text-boxjQuery的:註冊號驗證按鍵時

Number : <input type="text" name="Number" placeholder="MH03AH6414" id="txtRegNo" /> 
<span id="errmsg"></span> 

text-box必須像佔位符輸入(1日兩個字符的字母(AZ或az)第2兩個字符的數值(0-9 )3號兩個字符的字母(AZ或az)和最後四個字符數(0-9)

我試圖與按鍵事件,所有的事,但不能正常形成

$("#txtRegNo").keypress(function (e) { 
    var dataarray = []; 
    var dInput = $(this).val(); 
    for (var i = 0, charsLength = dInput.length; i < charsLength; i += 1) { 
     dataarray .push(dInput.substring(i, i + 1)); 
    } 
    alert(dataarray); 
    alert(e.key); 
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { 
     $("#errmsg").html("Digits Only").show().fadeOut("slow"); 
      return false 
     } 
}); 

請幫幫我。 在此先感謝

我想事件的內容現在正常工作與我的,但我想從keyinput

這裏是的jsfiddle解決

http://jsfiddle.net/ntywf/2470/

+0

使用正則表達式: - [A-ZA-Z] {2} [0-9] {2} [A-ZA-Z] {2} \ d {4} –

+0

如何檢查每個按鍵? –

回答

1

試試這個,以防止。修改的功能按要求

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 

    Number : <input type="text" name="Number" placeholder="MH03AH6414" id="txtRegNo" /> 
<span id="errmsg"></span> 

<!-- end snippet --> 
<script> 
$("#txtRegNo").keyup(function (e) { 
    $("#errmsg").html(''); 

     var validstr = ''; 
     var dInput = $(this).val(); 
     var numpattern = /^\d+$/; 
     var alphapattern = /^[a-zA-Z]+$/; 

     for (var i = 0; i < dInput.length;i++) { 

      if((i==2||i==3||i==6||i==7)){ 
       if(numpattern.test(dInput[i])){ 
        console.log('validnum'+dInput[i]); 
        validstr+= dInput[i]; 
       }else{ 
        $("#errmsg").html("Digits Only").show(); 

       } 
      } 

     if((i==0||i==1||i==4||i==5)){ 
       if(alphapattern.test(dInput[i])){ 
        console.log('validword'+dInput[i]); 
        validstr+= dInput[i]; 
       }else{ 
        $("#errmsg").html("ALpahbets Only").show(); 

       } 
      } 

     } 

     $(this).val(validstr); 
     return false; 

    }); 
</script> 
+0

謝謝這個是完美的。 –