У меня есть строка кода, которая получает следующую ошибку при запуске через 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 и изменить переменную в любом случае. Настоящая проверка ввода должна выполняться на сервере, и браузер клиента, вероятно, должен придерживаться проверки, которая будет обрабатывать злоупотребления вашего обычного пользователя.
Безопасно ли игнорировать эту ошибку? Я пропускаю угол, где мое приложение будет небезопасным из-за проверки ввода на стороне клиента?