a="79 * 2245 + (79 * 2 - 7)";
b="";
c=["1","2","3","4","5","6","7","8","9","0","+","-","/","*"];
for (i=1;i<a.length;i++){
for (ii=1;i<c.length;i++){
b=(a.substring(0,i))+(c[ii])+(a.substring(i+1,a.length));
alert(eval(b.replace(" ","")));
}
}
我需要找出如何使它使我使用eval时,我知道输入不会停止脚本,并且如果它通常会使脚本崩溃而忽略它。我明白,eval不是一个好用的函数,但我想要一个快速简单的方法来解决这个问题。上面的代码试图输出所有的答案,包括上面任何数字,符号或空格的所有可能的替换。我代表它在字符串中的距离,ii代表它正在检查的符号。 a是原始问题,b是修改后的问题。如何清理JS eval输入?
停止问题的人? – mellamokb 2011-05-14 01:45:41
不要使用'eval'。你的问题总是有更好的解决方案。 – Raynos 2011-05-14 01:46:22
你想查看每一个字符变化的表达式在'a'中是否正确? – 2011-05-14 01:56:06