使用javascript的正则表达式

时间:2011-03-29 09:27:24

标签: javascript regex

我有一个正则表达式^(?=.*?[A-Za-z])\S*$,表示输入应包含字母表,并且可以包含特殊字符或数字以及字母表。但由于我使用了\ S,因此不允许使用空格。

有人可以建议我一个reg exp,它应该包含字母,它可以包含数字或特殊字符和空格,但字母是必须的,最后一个字符不应该以空格结尾

1 个答案:

答案 0 :(得分:4)

很简单:

^(?=.*?[A-Za-z]).*$

请注意,在JavaScript中.与新行不匹配,并且没有全点标记(/s)。如果这是一个问题,您可以使用类似[\s\S]的内容:

^(?=[\s\S]*?[A-Za-z])[\s\S]*$

由于您只有一个前瞻,您可以将模式简化为:

^.*[A-Za-z].*$

或者,甚至更简单:

[A-Za-z]

[A-Za-z]如果在字符串中的任何位置找到一个字母,则匹配,您不需要从头到尾搜索其余字母。


为了验证最后一个字符不是空格,再次使用前瞻可能最容易(因为它在正则表达式中基本上是AND

^(?=.*?[A-Za-z]).*\S$