2016-09-21 52 views
5

这只是一天前的工作,但现在抛出异常。我已经将正则表达式粘贴到在线验证器中,它看起来不错?为什么这不是一个有效的正则表达式?

我错过了什么?

<input type="text" class="form-control" name="nickname" id="nickname" value="Alicia" 
     pattern="[\w\s\-\(\)\!\,\.]{3,45}"> 

Pattern attribute value [\w\s\-\(\)\!\,\.]{3,45} is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[\w\s\-\(\)\!\,\.]{3,45}/ : Invalid escape

感谢您的帮助!

凯西

回答

6

看起来对我有效,虽然铬确实抱怨。

在任何情况下,你并不需要一个字符类中的转义所有这些字符。你应该可以使用

pattern="[\w\s()!,.-]{3,45}" 

这似乎对我工作正常。

+0

我有一个非常简单有效的正则表达式同样的问题(已使用多年成功)和Chrome浏览器的最新版本是给我相同的错误OP和弹出“请符合要求的格式”,也就是打破我的登录页面。 – jdf

+0

我们的注册页面在Chrome浏览器中出现错误“Invalid Escape”,并且在Firefox中出现“该模式不是有效的正则表达式:正则表达式中的无效标识转义”,尽管该正则表达式运行数月。在字符类中有一个单引号“\”,这是造成麻烦的原因。 –

+0

谢谢,它可以节省数小时 – saqibahmad

相关问题