2017-05-05 182 views
1

我發現下面的代碼在這裏:允許只有字母數字在文本框使用jQuery

How to validate html textbox not to allow special characters and space?

所以寫的Ive進行驗證這段代碼,但它無法正常工作。

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/jquery.validate.min.js"></script> 

<input type="text" name="txtUsername" id="txtUsername" data-validation="alphanumeric" data-validation-allowing="_" value=""> 

我應該寫任何腳本來不允許特殊字符在文本框中。

+1

請每次創建一個問題。你在一個帖子中提出兩個問題。將這些問題分爲兩個帖子。 – ElChiniNet

+0

好的,我將創建另一個帖子。 –

回答

-1
$(function() { 
    $('#txtNumeric').keydown(function (e) { 
     if (e.shiftKey || e.ctrlKey || e.altKey) { 
      e.preventDefault(); 
     } 
     else { 
      var key = e.keyCode; 
      if (!((key == 8) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105))) { 
       e.preventDefault(); 
      } 
     } 
    }); 
}); 


<input id="txtNumeric" type="text" /> 
1

這是HTML部分只需要一個ID

<input id="txtAlphaNumeric" type="text" /> 

現在JQuery的主要邏輯:

\t 
 
$(document).ready(function(){ 
 
    $('#txtAlphaNumeric').keydown(function (e) { 
 
     var k = e.which; 
 
     var ok = k >= 65 && k <= 90 || // A-Z 
 
      k >= 96 && k <= 105 || // a-z 
 
      k >= 35 && k <= 40 || // arrows 
 
      k == 8 || // Backspaces 
 
      k >= 48 && k <= 57; // 0-9 
 

 
     if (!ok){ 
 
      e.preventDefault(); 
 
     }   
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input id="txtAlphaNumeric" type="text" />

+0

特殊符號正在工作... –

+0

經過測試的代碼段。不起作用。鉻。 –

0

其實這使得「£$文本中的%^ & *()符號。您需要修改答案略爲:

<!-- Allow only alphanumeric --> 
$('#username').keydown(function (e) { 
    var k = e.which; 
    var ok = k >= 65 && k <= 90 || // A-Z 
     k >= 96 && k <= 105 || // a-z 
     k >= 35 && k <= 40 || // arrows 
     k == 8 || // Backspaces 
     (!e.shiftKey && k >= 48 && k <= 57); // 0-9 

    if (!ok){ 
     e.preventDefault(); 
    } 
}); 

它可以防止數字的shift鍵。

相關問題