У меня есть строка кода, которая получает следующую ошибку при запуске через JSLint:
Lint at line 604 character 48: Insecure '^'.
numExp = parseInt(val[1].replace(/[^\-+\d]/g, ""), 10);
Эта ошибка, похоже, относится к следующему описанию на странице параметров JSLint:
"true if . and [^...] should not be allowed in RegExp literals.
These forms should not be used when validating in secure applications."
Я не совсем понимаю, как приложение javascript на стороне клиента действительно может считаться безопасным. Даже с самым воздухонепроницаемым регулярным выражением, все равно можно запустить что-то вроде firebug и изменить переменную в любом случае. Действительная проверка ввода должна выполняться на сервере, и браузер клиента должен, вероятно, придерживаться проверки, которая будет обрабатывать злоупотребление вашего обычного пользователя.
Можно ли игнорировать эту ошибку? Я упускаю угол здесь, где мое приложение будет небезопасным из-за проверки на стороне клиента?