无法构建正则表达式

时间:2013-04-05 04:49:44

标签: javascript regex

我正在尝试为某些验证构建一个正则表达式。我想检查字符串是否是至少一个字母和一个整数的组合。为此,我试过这个^(?=.*[\w][\d]).+我不太了解正则表达式。此表达式检查字符串中的aplhabet和number,但它希望字符串在开头具有字母表。相反,我只想检查字符串中是否存在字母和数字,而不管出现的次数和顺序。字母表也可以是大写字母或小字母,所以我猜单词检查将不区分大小写。该字符串可能包含特殊字符以及任何组合和顺序的字和数字,但任何空格都应该被丢弃。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

你必须使用两个前瞻:

/(?=.*[a-z])(?=.*[0-9])/i

答案 1 :(得分:1)

Blender的答案是正确的,但是我建议你选择一个更容易理解的正则表达式。

你正在寻找的实际上是两种情况中的一种:一串字符,首先包括一个字母,然后是一个字母,然后是反向的字母。

第一种情况是:/.*[a-zA-Z].*[0-9].*/

第二种情况是:/.*[0-9].*[a-zA-Z].*/

然后,您可以将这些组合成一个语句:

/(.*[a-zA-Z].*[0-9].*)|(.*[0-9].*[a-zA-Z].*)/

这可以进一步简化,但我希望这可以让你了解如何处理像这样的正则表达式问题。

相关问题