javascript - 使用 JavaScript 要求表单字段中包含字母和数字

标签 javascript

我有一份表格,我需要输入字母和数字。我见过的所有解决方案都只允许字母和数字,但不需要两者兼而有之。

我有这个正则表达式:/^[0-9a-zA-Z]+$/ 允许其中之一。我如何才能做到这一点,即文本必须至少包含一个数字。

谢谢我的 friend 们。

盖伊

最佳答案

为了解决这个问题,我们需要至少 2 个字符,一个字母和一个数字。在代码中,我们从字母数字字符的可能性开始。我没有使用 \w 因为它也允许 _ 字符。在该组中,我们有一个 or 来查找数字之前的字母,或者字母之前的数字。然后,在该组之后,我们要求如果存在任何内容,它也是字母数字。

/^[A-Za-z0-9]*([A-Za-z][0-9]|[0-9][A-Za-z])[A-Za-z0-9]*$/i

作为建议,在验证表单时最好使用服务器端语言作为前线防御,而不是仅使用 Javascript 方法。原因:

  1. 有人可以禁用 JavaScript
  2. 需要保护服务器免受恶意攻击(SQL 或 XSS 注入(inject))
  3. 有人可以通过直接链接到处理程序来完全绕过您的表单(如果您不需要有效的引荐来源网址)
  4. 某些浏览器(例如 Lynx)不使用 Javascript,因此对于需要使用屏幕阅读设备的用户来说并不友好

关于javascript - 使用 JavaScript 要求表单字段中包含字母和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248022/

相关文章:

javascript - 如何使用 JavaScript 删除一段 HTML

javascript - appendChild 无法在 Internet Explorer 中工作

javascript - Jquery 数据表日期格式 "DD/MM/YYYY"这些格式的排序不正确

javascript - Ng-show 对范围变量变化没有反应

加载 ajax 内容时未加载 JavaScript

javascript - 失败的 prop 类型 : Invalid prop `onClick` of type `object` supplied to `Button` , 预期 `function`

javascript - 如何显示文件上传的文件名

javascript - JSON,获取数据

javascript - Javascript 导入的麻烦

javascript - 删除所有 DOM 元素中隐藏的属性,除了给出索引的元素使用 Javascript 函数不起作用