正则表达式不要以“。”开头。

时间:2012-08-06 12:06:28

标签: javascript regex

我有一个文件名验证的正则表达式。这是:

 /^[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_; ]+$/

如何更改它以检查文件名是否以.符号开头。谢谢你的帮助。

1 个答案:

答案 0 :(得分:6)

negative lookahead将是最简单的解决方案:

/^(?!\.)[0-9a-zA-Z^&'@{}[\],$=!\-#().%+~_; ]+$/

或者,您可以将第一个字符与额外的字符类匹配:

/^[0-9a-zA-Z^&'@{}[\],$=!\-#()%+~_; ][0-9a-zA-Z^&'@{}[\],$=!\-#().%+~_; ]*$/
                               ^^ no dot here

顺便说一句,在character class内,几乎所有特殊字符都失去了它们的功能,不需要转义。