MyEclipse或Eclipse中js代码经常会出现这个错误:
Invalid Regular Expression Options
其意思是“无效正则表达式选项”,这说明是MyEclipse和Eclipse的代码提示插件提示正则表达式错误,首先优先查看js代码中的正则表达式是否存在问题。
如果不存在,则网上的的做法则通常是:
1、选中报错的jquery文件“jquery-1.2.6.min.js”。
2、右键选择 MyEclipse-->Exclude From Validation 。
3、再右键选择 MyEclipse-->Run Validation 即可。
但这样的做法通常治标不治本,有些时候重启了MyEclipse或Eclipse,或者重新编译的项目之后,还是可能会出现报错。
js没有问题,而出现 改错的根本原因其实是因为MyEclipse和Eclipse的代码提示插件对js代码的解析存在问题,比如下面这段代码就会报错:
var kbps = 1024;
var infos = "码率"+ (kbps/8).toFixed()+ "kb/s";
原因很简单:一个表达式中,存在两个反斜杠-“/”,就会被MyEclipse和Eclipse的代码提示插件默认解析为正则表达式,因为js的正则表达式就是用两个反斜杠包起来的,比如:
var reg = /abc/g;
所以,只要保证一个表达式中不包含两个反斜杠就不会提示报错了,完美解决上述问题。上述代码改为:
var kb_s = (1024/8).toFixed();
var infoshow = "码率"+ kb_s + "kb/s";
即可。当然,用ES6的模板引擎也可以
var info = `码率 ${1024/8).toFixed()}kb/s; `;
PS:用MyEclipse和Eclipse写前端真遭罪。。