今天写js所填数据的校验时,遇到了以下的错误。特此记录
Uncaught SyntaxError: Invalid regular expression: /^(+?d+)(.d+)?$/: Nothing to repeat
源码:
var reg = new RegExp('^(+?d+)(.d+)?$');
乍得一看,好像没有什么错误。但是细心就会发现。抛出异常哪里的正则表达式有点错误,少了反斜杠。原因是我们没有加上双反斜杠而导致的错误。
正确代码:
var reg = new RegExp('^(\+?\d+)(\.\d+)?$');
感想:要细心查看抛出的错误。
参考:http://zengxiangzhen.blog.51cto.com/9237594/1546944,感谢原博主。