给定文本输入字段。如何防止用户输入空格,以及字母数字或短划线( - )以外的其他内容。
仅限字母数字 - “字母数字字符集由数字0到9和字母A到Z组成。在perl编程语言中,下划线字符(_)也被视为字母数字字符集的成员”
这是一个用户可以选择自定义网址的字段。我想阻止用户输入无效字符。
想法?感谢
答案 0 :(得分:3)
您可以使用jQuery keyup(..)
方法执行此操作。您需要检查event.keyCode
是否有效。如果它无效,您可以使用preventDefault()
阻止该事件。
请记住验证发送到服务器的数据,因为您在javascript中执行的任何操作都可能被破坏。
这是一个为您执行此操作的库:http://www.itgroup.com.ph/alphanumeric/
答案 1 :(得分:1)
对不起,您的回复很晚。虽然我的答案来晚了。我对答案做了一些修改,就可以了。
需要验证
启用字母数字字符
<input name="pac_code" id="input_8_6" type="text" value="" class="form-control medium pacerror pacvalid" data-rule-maxlength="9" data-rule-minlength="9" maxlength="9" minlength="9" placeholder="Porting authorisation code (PAC) *" data-rule-required="true"
autocomplete="off" size="9">
<label for="input_8_6" style="color: #ff0000;font-weight: 300;font-size: 12px;margin-bottom: 1%;">Example: ABC123456</label><br />
<label class="PAC_error error" style="display:none;">Invalid PAC Format</label>
</div>
jQuery
jQuery(document).ready(function() {
$('#input_8_6').bind('keypress', function(event) {
var regex = new RegExp("^[a-zA-Z0-9\b]+$");
var regchar = new RegExp("^[a-zA-Z\b]+$");
var regnum = new RegExp("^[0-9\b]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
var pacvalue = $(this).val().length;
if (!regex.test(key)) {
event.preventDefault();
return false;
} else if (pacvalue <= 2) {
for (i = 0; i <= 2; i++) {
if (!regchar.test(key)) {
event.preventDefault();
return false;
}
}
} else if (pacvalue >= 3) {
for (j = 4; j <= 9; j++) {
if (!regnum.test(key)) {
event.preventDefault();
return false;
}
}
} else {
return true;
}
});
});
答案 2 :(得分:0)
那里有很多Javascript验证库。谷歌快速搜索“javascript validation”会产生JQuery Validation plugin插件作为第一个点击,所以这可能是一个很好的起点。
正如@Chris Cooper所说,请确保您也进行服务器端验证,因为用户关闭javascript并避免使用客户端验证规则非常简单。
答案 3 :(得分:0)
虽然我的回答很晚,但这可能有助于进一步的读者/技术人员。 谁想要实现一个文本框以接受以下条件。
以下是代码。
$("input[name='txtExample'] ").focus(function (e) {
if (!(e.which != 8 && e.which != 0 && ((e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122) ))) {
event.preventDefault();
}
}).keyup(function (e) {
if (!(e.which != 8 && e.which != 0 && ((e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122) ))) {
event.preventDefault();
}
}).keypress(function (e) {
if (!(e.which != 8 && e.which != 0 && ((e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122) ))) {
event.preventDefault();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="txtExample"/>
&#13;
添加了示例。