使用JQUERY在文本框中只允许字母数字
我在此处找到以下代码: 所以我写了这段代码进行验证,但它不起作用使用JQUERY在文本框中只允许字母数字,jquery,validation,Jquery,Validation,我在此处找到以下代码: 所以我写了这段代码进行验证,但它不起作用 <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"
<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" />
$('#txtNumeric').keydown(函数(e){
if(e.shiftKey | | e.ctrlKey | | e.altKey){
e、 预防默认值();
}
否则{
var key=e.keyCode;
如果(!((key==8)| |(key==46)| |(key>=35&&key=65&&key=48&&key=96&&key这是HTML部分,只需要一个ID
<input id="txtAlphaNumeric" type="text" />
现在,JQuery的主要逻辑是:
$(文档).ready(函数(){
$('#txt字母数字').keydown(函数(e){
var k=e,其中;
var ok=k>=65&&k=96&&k=35&&k=48&&k实际上,这允许在文本中使用“!$%^&*()符号。您需要稍微修改答案为:
<!-- 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();
}
});
$('#username').keydown(函数(e){
var k=e,其中;
var ok=k>=65&&k=96&&k=35&&k=48&&k多亏了@Steaton,但仍然允许使用一个特殊字符:€
我解决了这个问题
$(“#用户名”).keydown(函数(e){
var k=e.keyCode | | e.which;
var ok=k>=65&&k=96&&k=35&&k=48&&k请每次创建一个问题。您在一篇帖子中提出两个问题。将这些问题分成两篇帖子。好的,我将创建另一篇帖子。(!e.shiftKey&&k>=48&&k)