<span style = "Font-Family: Arial, Helvetica, Sans-Serif; Background-Color: RGB (255, 255, 255);"> Hier, la recherche de projet a rapporté une erreur. La douleur provenait de la bibliothèque de production. J'ai regardé le journal parce que l'utilisateur est entré en caractères spéciaux lors de la recherche. Il n'y a aucun moyen d'obtenir le moyen le plus rapide de filtrer directement les données saisies par l'utilisateur et de supprimer les caractères spéciaux </span>
Certains caractères spéciaux sont passés en arrière-plan et produiront des erreurs. Il peut être injecté dans SQL, il est donc fondamentalement intercepté.
Discutons de la manière dont la saisie interdit à la saisie de saisir des caractères spéciaux:
Méthode 1: Après avoir obtenu la valeur de la valeur, traitez-la avant de la passer
Fonction StripScript (valeur) {var Pattern = new Regexp ("[` ~! @ # $ ^ & * () = | {} ':;', // //]. <> /? ~! @ # ¥… & * () RE | {} 【】 ';: "'., rs + s.substr (i, 1) .replace (modèle, '');} return RS;}Appelez simplement cette fonction directement.
Méthode 2: Le moyen le plus fondamental consiste à inviter l'utilisateur à ne pas pouvoir saisir des caractères spéciaux
fonction showKeyPress (evt) {evt = (evt)? evt: window.EventReturn CheckspecificKey (evt.KeyCODE);} fonction CheckspecificKey (keycode) {var spécialKey = "[` ~! # $ ^ & * () = | {} ':;', // [//]. <> /? ~! # ¥… & * () `` {}} 【】 ';:' ''. listvar realKey = string.fromCharcode (keyCode); var flg = false; flg = (spécialKey.Indexof (realKey)> = 0); if (flg) {// alert ('s'il vous plaît n'entrez pas de caractères spéciaux:' + realKey); return false;} return true;} document.onKeyPress = showkeyPress;Utilisation: l'ajout d'événements sur le contrôle des entrées ne répond pas du tout
Cela semble être un peu de problème. Il n'y a aucune réponse dans l'État chinois. Je ne sais pas ce qui se passe, alors j'en ai trouvé un autre.
Méthode 3: Après avoir obtenu l'événement OnkeyUp, il le correspond similaire à la méthode.
Fonction valideValue (TextBox) {var illégalString = "[` ~! # $ ^ & * () = | {} ':;', // [//]. <> /? ~! # ¥… & * () - | {} 【】 ';: "'. TextBox.Value.Charat (index); if (illégalString.indexof (s)> = 0) {s = textboxValue.substring (0, index); textbox.value = s;}}Utilisation: onkeyup = "validerValue (this)" Il disparaîtra immédiatement après l'entrée. L'utilisateur peut voir que ce que je suis entré est simplement en train de dire qu'il disparaîtra après être entré. L'inconvénient est que l'entrée continue ne disparaîtra pas (maintenez-la vers le bas)
Le prochain moyen le plus génial de neutraliser ce qui précède
Méthode 4: Utilisez-le directement sur le contrôle
// <input / [/ w] / g, '') "/ [^ / d] / g, ''))"> // La boîte d'entrée de contrôle ne peut entrer que du texte ou des chiffres, et les caractères spéciaux ne peuvent pas être autorisés à entrer les caractères suivants ici: (comme! @ # $% ^ & *, etc.) <br>
Cette méthode Les utilisateurs peuvent voir que l'entrée disparaîtra immédiatement. Il en va de même pour la méthode trois, mais l'entrée continue est valide.
Jetons un coup d'œil au JS suivant pour déterminer que les personnages entrés ne peuvent pas être des caractères spéciaux:
1. L'événement Document.OnkeyPress est une vérification lors de la saisie d'un caractère. La correspondance ShowkeyPress est exécutée lors de la vérification. Lorsque vous retournez vrai, il peut être entré et FALSE ne peut pas être entré.
2. EVT = (EVT)? EVT: Window.Event, en appuyant sur le clavier, générera cet événement pour obtenir la valeur que vous avez tapée (c'est le Keycode du clavier).
var realKey = string.fromCharcode (keyCode);
La méthode string.fromCharcode () consiste à convertir la valeur du clavier (keycode) en la valeur que vous saisissez réellement.
3. Méthode SpecialKey.Indexof (RealKey):
.Indexof () est une méthode de chaîne. La méthode indexof () de la chaîne recherche si une chaîne passée en tant que paramètre apparaît sur la chaîne. Si une chaîne est trouvée, elle renvoie la position de départ du caractère (0 signifie le premier caractère, 1 signifie le deuxième caractère et ainsi de suite). S'il n'est pas trouvé, il revient -1
4. var spécialKey = "# $% / ^ * / '/" / + ";
Voici des chaînes avec des caractères d'évasion, #, $,%, ^, *, ', ", + sont des symboles spéciaux, et ceux avec / avant doivent être échappés.
Si vous souhaitez ajouter des symboles spéciaux d'entrée restreints dans la zone de texte, utilisez <input type = "text" id = "name" onKeyPress = "showkeypress ()">
Ce qui précède est les quatre façons d'implémenter l'entrée qui interdit à l'entrée de saisir des caractères spéciaux. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!