正则表达式测试校验问题return /^(?:0000)[0-9]{4}([-/.)(?::[1-9]|1[0-2])\1(?:[1-9]|1[0-9]|2[0-8])|(?:[13-9]|1[0-2])\1(?:29|30)|(?:[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 16:44:58
正则表达式测试校验问题return /^(?:0000)[0-9]{4}([-/.)(?::[1-9]|1[0-2])\1(?:[1-9]|1[0-9]|2[0-8])|(?:[13-9]|1[0-2])\1(?:29|30)|(?:[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.)
正则表达式测试校验问题
return /^(?:0000)[0-9]{4}([-/.)(?::[1-9]|1[0-2])\1(?:[1-9]|1[0-9]|2[0-8])|(?:[13-9]|1[0-2])\1(?:29|30)|(?:[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.)0?2\2(?:29))$/.test(S.trim(value));
这是一行,在eclipse中报红,请问是哪里有错误?
正则表达式测试校验问题return /^(?:0000)[0-9]{4}([-/.)(?::[1-9]|1[0-2])\1(?:[1-9]|1[0-9]|2[0-8])|(?:[13-9]|1[0-2])\1(?:29|30)|(?:[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.)
eval 是正确的思路.
纯正则也可行,只不过太麻烦.
最好是正则配合eval.
JavaScript测试
function checkFomula(str) {
if(/^[0-9\(\)\+\-\*\/]+$/.test(str)) {
try {
eval(str);
return true;
} catch(ex) {
return false;
}
}
return false;
}