我想允许用户在文本输入中执行简单的计算,这样输入 2*5 将得到 10。我用空字符串替换除数字之外的所有内容,然后使用 eval() 进行计算。这似乎比手动解析更容易并且可能更快。
人们经常说 eval() 是不安全的,所以我想知道在这种情况下使用它是否有任何危险或缺点。
function (input) {
value = input.value.replace(/[^-\d/*+.]/g, '');
input.value=eval(value);
}
我想允许用户在文本输入中执行简单的计算,这样输入 2*5 将得到 10。我用空字符串替换除数字之外的所有内容,然后使用 eval() 进行计算。这似乎比手动解析更容易并且可能更快。
人们经常说 eval() 是不安全的,所以我想知道在这种情况下使用它是否有任何危险或缺点。
function (input) {
value = input.value.replace(/[^-\d/*+.]/g, '');
input.value=eval(value);
}