我有一个表格,我需要输入字母和数字。我见过的所有解决方案都只允许字母和数字,但不需要两者。
我有这个正则表达式:/^[0-9a-zA-Z]+$/
它允许一个或另一个。我怎样才能做到这一点,这意味着文本必须至少包含一个数字。
谢谢我的朋友。
盖伊
我有一个表格,我需要输入字母和数字。我见过的所有解决方案都只允许字母和数字,但不需要两者。
我有这个正则表达式:/^[0-9a-zA-Z]+$/
它允许一个或另一个。我怎样才能做到这一点,这意味着文本必须至少包含一个数字。
谢谢我的朋友。
盖伊
为了打破这一点,我们需要至少 2 个字符,一个字母和一个数字。在代码中,我们从字母数字字符的可能性开始。我没有使用\w
,因为它也允许_
字符。在组中,我们有一个 or ,它在数字之前查找字母,或者在字母之前查找数字。然后在我们要求的组之后,如果存在任何东西,它也是字母数字。
/^[A-Za-z0-9]*([A-Za-z][0-9]|[0-9][A-Za-z])[A-Za-z0-9]*$/i
作为建议,在验证表单时最好使用服务器端语言作为前线防御,而不是仅使用 Javascript 的方法。原因: