双反斜杠引发的正则表达式错误

今天写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,感谢原博主。

原文地址:https://www.cnblogs.com/daixianjun/p/js-UncaughtSyntaxError.html