使用JavaScript在表单字段中要求字母和数字

时间:2013-06-22 06:32:26

标签: javascript

我有一张表格,我需要字母和数字。我见过的所有解决方案,只允许使用字母和数字,但不需要两者。

我有这个正则表达式:/^[0-9a-zA-Z]+$/允许其中一个。如何将此作为要求,这意味着文本必须至少包含一个数字。

感谢我的朋友们。

1 个答案:

答案 0 :(得分:3)

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

/^[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注入)
  3. 有人可以通过直接链接到处理程序来完全绕过您的表单(如果您不需要有效的推荐人)
  4. 像Lynx这样的浏览器不使用Javascript,因此对于需要使用屏幕阅读设备的人来说,这不是用户友好的