<span style = "font-family: arial, helvetica, sans-serif; фоновый цвет: rgb (255, 255, 255);"> Вчера в поиске проекта сообщили об ошибке. Боль была из производственной библиотеки. Я посмотрел на журнал, потому что пользователь ввел специальные символы при поиске. Невозможно получить самый быстрый способ напрямую отфильтровать данные, введенные пользователем, и удалить специальные символы </span>
Некоторые специальные символы передаются на задний план и будут создавать ошибки. Он может быть введен в SQL, поэтому он в корне перехвачен.
Давайте обсудим, как вход запрещает ввод вводить специальные символы:
Метод 1: После получения значения, обработайте его, прежде чем пройти его
Функция stripscript (value) {var pattern = new Regexp ("[` ~!@#$^&*() = | {} ':;', // [//]. <>/? ~!@#¥… &*() ― | {} 【】 ';: ".,,,?]") var rs = ";"; rs+s.substr (i, 1) .replace (pattern, '');} return rs;}Просто назовите эту функцию напрямую.
Метод 2: Наиболее фундаментальный способ - побудить пользователя не вводить специальные символы
Функция ShowKeyPress (evt) {evt = (evt)? evt: window.eventreturn checkspecificekey (evt.keycode);} function checkpecifickey (key -код) {var specialkey = "[` ~!#$^&*() = | {} ':;', // [//]. <>/? realKey = string.fromCharcode (KeyCode); var flg = false; flg = (specialKey.indexof (realkey)> = 0); if (flg) {// alert ('Пожалуйста, не вводите специальные символы:' + realkey); return false;} return trueИспользование: Добавление событий на управление вводом вообще не отвечает
Кажется, это небольшая проблема. В китайском государстве нет ответа. Я не знаю, что происходит, поэтому я нашел еще один.
Метод 3: После получения события Onkeyup он соответствует тому, что он похож на метод.
Функция ValidateValue (TextBox) {var allodalString = "[` ~!#$^&*() = | {} ':;', // [//]. <>/? ~!#¥… &*() ― | {} 【】 ';: ".,?] TextBox.value.charat (index); if (allodalString.indexof (s)> = 0) {s = textboxValue.substring (0, index); TextBox.value = s;}}Использование: OnKeyUp = "validateValue (это)" Это исчезнет сразу после входа. Пользователь может видеть, что то, что я ввел, просто говорит, что он исчезнет после входа. Недостаток заключается в том, что непрерывный вход не исчезнет (удерживайте его)
Следующий самый удивительный способ нейтрализации вышеупомянутого
Метод 4: Используйте его непосредственно на управлении
// <input/[/w]/g, '') "/[^/d]/g, ''))"> // Ввод управления может вводить только текст или числа, и специальным символам нельзя вводить следующие символы здесь: (например!@#$%^&*и т. Д.) <br>
Этот метод пользователей может видеть, что ввод немедленно исчезнет. То же самое относится и к методу три, но непрерывный ввод действителен.
Давайте посмотрим на следующие JS, чтобы определить, что введенные персонажи не могут быть специальными персонажами:
1. Документ. Событие AnkeyPress является проверкой при входе в персонаж. Переписка ShowKeyPress выполняется во время проверки. При возврате TRUE можно ввести, и FALSE не может быть введен.
2. evt = (evt)? EVT: window.event, нажатие клавиатуры сгенерирует это событие, чтобы получить напечатанное значение, которое вы наберете (это код клавиши клавиатуры).
var Realkey = string.fromCharcode (KeyCode);
Метод string.fromCharcode () предназначен для преобразования значения клавиатуры (KeyCode) в значение, которое вы фактически вводят.
3. Метод SpecialKey.indexof (RealKey):
.indexof () - это струнный метод. Метод indexof () строки ищет, появляется ли строка, передаваемая как параметр на строке. Если строка найдена, она возвращает начальную позицию символа (0 означает первый символ, 1 означает второй символ и так далее). Если это не найдено, он возвращает -1
4. var SpecialKey = "#$%/^*/'/"/+";
Вот струны с экологичными персонажами, #, $, %, ^, *, ', « + - это особые символы, а те, которые с / до того, как их нужно избежать.
Если вы хотите добавить ограниченные входные специальные символы в текстовое поле, используйте <input type = "text" id = "name" onkeypress = "showkepress ()">
Вышеупомянутые являются четырьмя способами реализации ввода, которые запрещают вводу вводить специальные символы. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!