N'autoriser que quelques caractères

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 2 mai 2017 à 13:15
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 - 3 mai 2017 à 12:59
Bonjour à tous !

Je voudrais inverser ce code, pouvez-vous m'aider svp

function Caracteres(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
if (keyCode==9) return true;
if (keyCode == 32) {return false;}
var interdit = 'bcdfghjklmnpqrstvwxyz&*?!:;,\t#~"^¨%$£?²¤§%*()[]{}<>|\\/`_\'-BCDFGHJKLMNPQRSTVWXYZçàéèê';
if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0) {return false;}}
 
// Changer l'interdit en autoriser
 
function Caracteres(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
if (keyCode==9) return true;
if (keyCode == 32) {return false;}
var autoriser = 'AOIEUaoieu';
if (autoriser.indexOf(String.fromCharCode(keyCode)) >= 0) {return false;}}


A voir également:

2 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
Modifié le 2 mai 2017 à 13:47
Je comprends vraiment pas ton problème, il suffit de déplacer les deux valeurs des variables :
function Caracteres(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
if (keyCode==9) return true;
if (keyCode == 32) {return false;}
var interdit = 'AOIEUaoieu';
if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0) {return false;}}
 
// Changer l'interdit en autoriser
 
function Caracteres(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
if (keyCode==9) return true;
if (keyCode == 32) {return false;}
var autoriser = 'bcdfghjklmnpqrstvwxyz&*?!:;,\t#~"^¨%$£?²¤§%*()[]{}<>|\\/`_\'-BCDFGHJKLMNPQRSTVWXYZçàéèê';
if (autoriser.indexOf(String.fromCharCode(keyCode)) >= 0) {return false;}}
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
2 mai 2017 à 13:54
Non non tu ne m'as vraiment pas compris !

Le premier script interdit les caractères cités dans la variable :
function Caractere_Telephone(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
if (keyCode==9) return true;
if (keyCode == 32) {return false;}
var interdit = 'aeiouAEIOU';
if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0) {return false;}}


Je veux inverser le code pour qu'il autorise plutot les caractères de la variable...
function Caractere_Telephone(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
if (keyCode==9) return true;
if (keyCode == 32) {return false;}
var autoriser = 'aeiouAEIOU';
if (autoriser.indexOf(String.fromCharCode(keyCode)) >= 0) {return false;}}
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
2 mai 2017 à 14:28
ben change false à true ;-)

if (autoriser.indexOf(String.fromCharCode(keyCode)) >= 0) {return true;}}
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
2 mai 2017 à 14:31
Non ça me renvois un "undefineda" dont le "a" est égale au caractère tapé...
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
2 mai 2017 à 14:42
Je crois que ça fonctionne, il fallait continuer la condition avec le
else
.
Merci encore Falice
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11 > Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023
3 mai 2017 à 12:59
Pas nécessaire le « else » tu peux faire direct le « return »… parce qu'ici t'es dans une fonction ;-)
0