允许只有字母数字在文本框使用jQuery
问题描述:
我发现下面的代码在这里:允许只有字母数字在文本框使用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="">
我应该写任何脚本来不允许特殊字符在文本框中。
答
$(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" />
答
这是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
经过测试的代码段。不起作用。铬。 –
答
其实这使得“£$文本中的%^ & *()符号。您需要修改答案略为:
<!-- 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键。
请每次创建一个问题。你在一个帖子中提出两个问题。将这些问题分为两个帖子。 – ElChiniNet
好的,我将创建另一个帖子。 –