在我的应用程序中,我需要允许用户添加自己的数学公式,可以使用运算符和调用变量。无论如何,验证用户是否写错了变量或未知变量来显示错误?
我有例子here,你在控制器的顶部有一些范围变量。一个细微差别,如果我在示例中插入一个无效变量,它显示null
,但在我的代码中显示为空白。
有什么建议吗?
答案 0 :(得分:0)
老实说,如果你不是懒得把这些东西扔进eval,你可以自己轻松解析它,我会重新进行侦察。
如何删除所有空格,并对每个字符进行交互? 我的意思是只要没有像aa或ab这样的变量,你就可以检查一下。
for (var i = 0; i < answer.length ; i++) {
if (!isvalidParamOrOperator(answer[i])) {
//can show error at position i+1;
return false;
}
}
isValidParamOrOperator类似于
function(str) {
return "1234567890ab".indexOf(str);
}
当然,在较长的参数下它会变得有点复杂,但是你可以创建一些可以分解所有运算符的东西,比如+ - space&amp;数字。然后你会得到一份你可以检查的所有参数列表。应该在数组上检查而不是我当前的建议,但是在实现这样的事情之后这应该不会很难。