正则表达式测试校验问题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/04/29 06:11:38
正则表达式测试校验问题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)([-/.)
正则表达式测试校验问题
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;
}