如何防止用户在输入字段中输入无效字符

给定文本输入字段。 如何防止用户输入空格以及除字母数字或短划线( – )以外的其他空格。

仅限字母数字 – “字母数字字符集由数字0到9和字母A到Z组成。在perl编程语言中,下划线字符(_)也被视为字母数字字符集的成员”

这是用户可以选择自定义url的字段。 我想阻止用户输入无效字符。

想法? 谢谢

您可以使用jQuery keyup(..)方法执行此操作。 您需要检查event.keyCode是否有效。 如果它无效,您可以使用preventDefault()来阻止该事件。

请记住validation发送到服务器的数据,因为您在javascript中执行的任何操作都可能被破坏。

这是一个为您完成的图书馆: http : //www.itgroup.com.ph/alphanumeric/

那里有很多Javascriptvalidation库。 谷歌快速搜索“javascriptvalidation”产生了JQuery Validation插件插件作为第一个命中,所以这可能是一个很好的起点。

正如@Chris Cooper所说,请确保您也进行服务器端validation,因为用户关闭javascript并避免使用客户端validation规则非常简单。

虽然我的答案很晚,但这可能有助于进一步的读者/技术人员。 谁想要实现一个文本框以接受以下条件。

  • 应该接受字母表。
  • 应该接受数字。
  • 不应该接受任何特殊字符。

以下是代码。

 $("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(); } });