正则表达式接受至少一个alpha字符和数字字符

时间:2011-09-23 04:05:31

标签: javascript regex

我正在尝试使用正则表达式来“部分匹配”(字符串中的任何位置):

abcd1234 1a2b

我搜索了一个正则表达式,发现了这个:

/^(?=.*\d)(?=.*[a-zA-Z])$/

但它只接受字母数字; abcd123!@#$不匹配。

如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

这个怎么样?

/^.*[a-zA-Z].*\d.*|.*\d.*[a-zA-Z].*$/

这应该匹配:

  • 一个字母字符,后面跟一个数字字符,任意一边或两边都有任意数量的其他字符;
  • 相反(数字后跟字母

答案 1 :(得分:0)

如果我理解正确,这就是你想要的:

/^.*[a-zA-z].*\d.*/

/*
'2344' => false
'abcd' => false
'a1cd' => true
'abc3' => true
'ab@3' => true
'a_*3' => true
'2_!b' => false
*/

答案 2 :(得分:0)

以下内容将允许alpha和数字以任何顺序出现:

/^.*((\d.*[a-zA-Z])|([a-zA-Z].*\d)).*$/