J'ai besoin de rendre mon texte d'entrée accepter simplement une lettre anglaise sans espaces ni chiffre, ni ne peut copier et coller dedans!
J'ai essayé ce code et que cela fonctionne, mais lorsque je copierais et coller quelque chose d'en dehors de la valeur. : p> Comment puis-je ne pas autoriser pas copier et coller la valeur hors entrée? p> N'hésitez pas à utiliser jQuery code > ou pur js code> p> p>
4 Réponses :
Votre solution ne concerne que un caractère.
On dirait que vous voulez simplement filtrer tous les caractères qui ne répondent pas aux critères. Dans ce cas, vous pouvez utiliser Array Filtre code> Méthode comme SO: P>
const regex = /[A-Za-z]/;
function validate(e) {
const chars = e.target.value.split('');
e.target.value = chars.filter(function(char) {
return regex.test(char);
}).join('');
}
document.querySelector('#inputTextBox').addEventListener('input', validate);
Pourquoi réinventer une simple regex?
@epascarello n'est pas sûr de ce que vous voulez dire. Vous parlez-vous au regex remplacer la solution code> liée à l'un des commentaires? Il existe de nombreuses façons de résoudre tout problème donné. Ce n'est pas nécessairement la "meilleure" solution, mais le problème fondamental de la solution originale était un vs. beaucoup, et cette solution montre comment résoudre ce problème.
Vous devez regarder Coller événement . p>
afin d'empêcher l'utilisateur de coller tout ce qui n'est pas autorisé p>
Vous pouvez réinitialiser la valeur de l'entrée après la validation. P> document.QuerySelector ('# INPUTTEXTBOXTBOX'). AddeventListener ('Coller', valider); Code> P>
Poignées d'entrée Pâte. Le problème a été signalé dans des commentaires, je ne sais pas quelle copie a à voir avec elle.
La boucle n'est pas vraiment nécessaire, vous pouvez utiliser p> match code> <input id="inputTextBox"/>
Cool mais quand j'essaie d'écrire avec une autre langue est accepter et j'ai dit juste anglais
Coller ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ Å CODE> dans la zone de texte sans valeur, vous obtenez une erreur
Toute la solution permettra cela, vous devriez vérifier contre un dictionnaire anglais. En outre, Å code> n'est pas dans a-za-z code> regex
Vous réinventez également Remplacer ()
Vous pouvez utiliser p> Oninput code> avec Remplacer code> pour limiter l'entrée comme suit: <input type="text" oninput="this.value=this.value.replace(/[^a-z]/gi,'')">
En ajoutant
changer code> à l'auditeur?Eh bien, votre code ne regarde que la dernière lettre. Cela échouerait également si l'utilisateur déplaçait le curseur sur un endroit différent de la zone de texte et dactylographiés.
@epascarello ohh c'est juste !! Avez-vous des pls résolvés?
const regex = / ^ [a-z] + $ / i code>Cela a été fermé comme une dupe d'une question et de réponse à la fois spécifiquement de la bibliothèque de réaction. Étant donné que cette question n'a rien à voir avec réagir, il devrait être rouvert que s'il y a une dupe plus appropriée là-bas ...