早教吧 育儿知识 作业答案 考试题库 百科 知识分享

正则表达式测试校验问题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中报红,请问是哪里有错误?
▼优质解答
答案和解析
eval 是正确的思路.
纯正则也可行,只不过太麻烦.
最好是正则配合eval.

JavaScript测试

function checkFomula(str) {
if(/^[0-9\(\)\+\-\*\/]+$/.test(str)) {
try {
eval(str);
return true;
} catch(ex) {
return false;
}
}
return false;
}