<span style = "font-family: Arial, Helvetica, sem serrif; cor de fundo: RGB (255, 255, 255);"> ontem, a pesquisa do projeto relatou um erro. A dor era da biblioteca de produção. Eu olhei para o log porque o usuário inseriu caracteres especiais ao pesquisar. Não há como obter a maneira mais rápida de filtrar diretamente os dados inseridos pelo usuário e remover caracteres especiais </span>
Alguns caracteres especiais são passados para o fundo e produzirão erros. Pode ser injetado no SQL, por isso é fundamentalmente interceptado.
Vamos discutir a maneira como a entrada proíbe a entrada de inserir caracteres especiais:
Método 1: Depois de obter o valor do valor, processe -o antes de passar
função stripScript (value) {var padring = new regexp ("[` ~!@#$^&*() = | {} ':;', // [//]. rs+s.substr (i, 1) .plicar (padrão, '');Basta chamar essa função diretamente.
Método 2: A maneira mais fundamental é levar o usuário a não poder inserir caracteres especiais
função showKeypress (evt) {evt = (evt)? EVT: Window.EventReturn CheckSpecificKey (evt.Keycode);} função checkspecificKey (keycode) {var specialKey = "[` ~!#$^&*() = | {} ':;', // [//]. <>/? realKey = string.FromCharCode (KeyCode); var flg = false; flg = (SpecialKey.IndexOF (RealKey)> = 0); if (flg) {// alert ('por favor, não digite caracteres especiais:' + realKey); retornar false;} retornar true;} document.onkeypress = ShowKeypress;Uso: Adicionar eventos no controle de entrada não responde
Parece ser um pequeno problema. Não há resposta no estado chinês. Não sei o que está acontecendo, então encontrei outro.
Método 3: Depois de obter o evento onkeyup, ele corresponde a ele semelhante ao método.
função validateValue (textbox) {var ilegalString = "[` ~!#$^&*() = | {} ':;', // [//]. textbox.value.charat (index); if (ilegalstring.indexOf (s)> = 0) {s = textBoxValue.substring (0, index); textbox.value = s;}}Use: OnKeyUp = "ValidateValue (this)" ele desaparecerá imediatamente após a entrada. O usuário pode ver que o que eu inseri está apenas dizendo que desaparecerá após a entrada. A desvantagem é que a entrada contínua não desaparecerá (mantenha -a pressionada)
A próxima maneira mais impressionante de neutralizar o acima
Método 4: use -o diretamente no controle
// <input/[/w]/g, '') "/[^/d]/g, ''))"> // A caixa de entrada de controle pode apenas inserir texto ou números, e caracteres especiais não podem entrar nos seguintes caracteres aqui: (como!@#$%^&*, etc.) <br>
Os usuários do método podem ver que a entrada desaparecerá imediatamente. O mesmo vale para o método três, mas a entrada contínua é válida.
Vamos dar uma olhada no seguinte JS para determinar que os personagens inseridos não podem ser caracteres especiais:
1. O evento Document.OnkeyPress é uma verificação ao entrar em um personagem. A correspondência ShowKeyPress é executada durante a verificação. Ao retornar verdadeiro, ele pode ser inserido e False não pode ser inserido.
2. EVT = (EVT)? EVT: Window.Event, pressionando o teclado gerará este evento para obter o valor que você digitou (é o código de chave do teclado).
var realKey = string.fromCharCode (KeyCode);
O método String.FromCharCode () é converter o valor do teclado (código -chave) no valor que você realmente inseriu.
3. Método SpecialKey.IndexOF (RealKey):
.IndexOf () é um método de string. O método indexOf () da string pesquisa se uma string passada como um parâmetro aparece na sequência. Se uma string for encontrada, ele retornará a posição inicial do caractere (0 significa o primeiro caractere, 1 significa o segundo caractere e assim por diante). Se não for encontrado, retorna -1
4. Var specialKey = "#$%/^*/'/"/+";
Aqui estão strings com personagens de fuga, #, $, %, ^, *, ', ", + são símbolos especiais e os que precisam ser escapados.
Se você deseja adicionar símbolos especiais de entrada restrita na caixa de texto, use <input type = "text" id = "name" onkeypress = "showkeypress ()">
O exposto acima são as quatro maneiras de implementar a entrada que proíbe a entrada de inserir caracteres especiais. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!