从昨天开始,我一直在努力解决一个奇怪的语法错误:FF调试器在这个特定的行上一直说"SyntaxError:非法字符":
function newTimePeriod(ID, param, paramID, unit) { updateSession(); //check if date //(I got this regex from another post) var re = new RegExp("^\\d{4,4}(-\\d{1,2}){1,2}( \\d{1,2}(:\\d{1,2}){1,2})?$"); var dateFrom = document.getElementById("chart_date_min_" + ID).value; var dateTo = document.getElementById("chart_date_max_" + ID).value; var fromCorrect = re.test(dateFrom); var toCorrect = re.test(dateFrom); /**/if (fromCorrect && toCorrect)?{/**/ //return illegal character LoadGraph(ID, param, paramID, unit, dateFrom, dateTo); } }
我试图将这个脚本包含在主php页面中,或将其分开; 它不会改变一件事.使用的字符集是UTF-8,fromCorrect和toCorrect正确返回布尔值(正则表达式正在工作)
当我删除脚本正在加载的if语句时... Notepad ++不显示隐藏在任何地方的任何特殊字符.
有什么想法吗?
我已将您的代码复制到一个小提琴中 - 似乎您在大括号之间有一个零宽度空间:
if (fromCorrect && toCorrect)?{ ^