Я хотел бы разрешить пользователю выполнять простые вычисления в текстовых вводах, так что ввод 2 * 5 приведет к 10. Я заменяю все, кроме цифр пустой строкой, а затем делаю вычисления с помощью eval(). Это кажется более простым и, вероятно, быстрее, чем его вручную.
Часто говорят, что eval() является небезопасным, поэтому я хотел бы услышать, есть ли какая-либо опасность или недостаток его использования в этой ситуации.
function (input) {
value = input.value.replace(/[^-\d/*+.]/g, '');
input.value=eval(value);
}