J'ai trouvé des instructions similaires, mais aucune aide, toutes sont destinées à des caractères spéciaux ou à des chiffres.
J'ai besoin de rendre le type d'utilisateur seulement 1, 2, 3, 4, 5, N, O, A, B, C. tous les autres personnages doivent être restreints.
Est-ce que je peux faire ma propre sélection de caractères restreints/autorisés pour les entrées?
Essaye ça
$(function(){
$('#txt').keypress(function(e){
if(e.which == 97 || e.which == 98 || e.which == 99 || e.which == 110 || e.which == 111 || e.which == 65 || e.which == 66 || e.which == 67 || e.which == 78 || e.which == 79 || e.which == 49 || e.which == 50 || e.which == 51 || e.which == 52 || e.which == 53){
} else {
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='txt' value='' onpaste="return false" />
Mise à jour du 9 mars 2018
$(function(){
$('#txt').keypress(function(e){
// allowed char: 1 , 2 , 3, 4, 5, N, O, A, B, C
let allow_char = [97,98,99,110,111,65,66,67,78,79,49,50,51,52,53];
if(allow_char.indexOf(e.which) !== -1 ){
//do something
}
else{
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='txt' value='' onpaste="return false" />
avec JQuery,
$("input").keypress( function(e) {
var chr = String.fromCharCode(e.which);
if ("12345NOABC".indexOf(chr) < 0)
return false;
});
sans JQuery
document.getElementById("foo").onkeypress = function(e) {
var chr = String.fromCharCode(e.which);
if ("12345NOABC".indexOf(chr) < 0)
return false;
};
Pour les doublures, tirées des commentaires de @mplungjan et @ matthew-lock
document.querySelector("#foo").onkeypress = function(e) {
return "12345NOABC".indexOf(String.fromCharCode(e.which)) >= 0;
};
Il n'est pas clair à 100% si vous souhaitez restreindre le formulaire soumis avec des valeurs non valides ou empêcher littéralement l'utilisateur de saisir ces valeurs. Les autres réponses traitent de ce dernier point et je pense que est ce que vous vouliez dire, mais il y aura des gens qui arrivent ici (comme moi) qui veulent simplement empêcher la soumission du formulaire.
Dans quel cas:
Utilisez l'attribut pattern
sur l'élément input
:
<input pattern="[REGEX HERE]">
https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation
Si vous voulez désactiver quelques caractères du champ de saisie, vous pouvez faire quelque chose comme ça:
<input type="text" onkeydown="return (event.keyCode!=86);"/>
86 est le code pour V. Vérifiez le code pour les autres clés à partir du lien suivant.
https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes