Использование регулярных выражений в Javascript для предотвращения SQL-инъекций - мать всего (или, по крайней мере, большинства) зла. НЕ ДЕЛАЙТЕ ЭТОГО !!! Вместо этого используйте параметры в своем коде на стороне сервера. Если вы не знаете как, спросите нас. Если вы попытаетесь предотвратить SQL-инъекцию так, как вы это делаете, это будет , а не , и вы потеряете данные или, что еще хуже. Все, что нужно вашему врагу, это отключить Javascript (или создать свой собственный HTTP-запрос), и ваш фильтр будет бесполезен. Кроме того, я не думаю, что можно полностью блокировать внедрение SQL с помощью одного регулярного выражения.
Чтобы ответить на вопрос, попробуйте написать return false
или event.preventDefault()
в обработчике. Тем не менее, это не будет работать идеально; в Javascript невозможно полностью контролировать фокусировку, как это.