2017-05-05 100 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键。

相关问题