给定一个文本输入字段。我怎样才能防止用户输入空格,而不是字母数字或短划线( - )。 “如何防止用户在输入字段内输入无效字符
仅限字母数字字符集 - ”字母数字字符集由数字0到9和字母A到Z组成。在perl编程语言中,下划线字符(_)也被认为是字母数字字符集的成员“
这是用于用户可以选择自定义网址的字段。我想阻止用户输入无效字符。
想法?谢谢
给定一个文本输入字段。我怎样才能防止用户输入空格,而不是字母数字或短划线( - )。 “如何防止用户在输入字段内输入无效字符
仅限字母数字字符集 - ”字母数字字符集由数字0到9和字母A到Z组成。在perl编程语言中,下划线字符(_)也被认为是字母数字字符集的成员“
这是用于用户可以选择自定义网址的字段。我想阻止用户输入无效字符。
想法?谢谢
你可以使用jQuery keyup(..)
方法来做到这一点。您需要检查event.keyCode
是否有效。如果无效,您可以通过preventDefault()
阻止事件。
记得验证发送到服务器的数据,因为你在javascript中做的任何事情都可以被破坏。
这里是为你做一个库:http://www.itgroup.com.ph/alphanumeric/
只是好奇。为什么不按键?或者我们应该安全行事,并听取keyup.keydown和按键。 –
@KiranRuthR'keypress'与'keydown'类似,不同之处在于它只在按住某个键时才会触发一次。我相信你可以用'keydown'实现一个解决方案。阅读jQuery文档以获取更多信息:http://api.jquery.com/keypress/ –
很酷..感谢您的帮助 –
有大量的JavaScript验证库的外面。快速谷歌搜索'javascript验证'产生JQuery Validation plugin插件作为第一击,所以这可能是一个很好的开始。
正如@Chris Cooper所说的,确保你也做了服务器端的验证,因为用户关闭javascript并避免你的客户端验证规则是非常微不足道的。
虽然我的回答很晚,但这可能会对读者/技术人员有所帮助。 谁想要实现一个文本框接受以下条件。
以下是代码。加入
$("input[name='txtExample'] ").focus(function (e) {
\t \t 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)))) {
\t \t \t event.preventDefault();
\t \t }
\t }).keyup(function (e) {
\t \t 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)))) {
\t \t event.preventDefault();
\t \t \t }
\t }).keypress(function (e) {
\t \t 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)))) {
\t \t \t event.preventDefault();
\t \t }
\t
\t });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="txtExample"/>
与例子。
确保无论您使用Javascript做什么,只要到达服务器,您也可以进行一些过滤! –