N'autoriser que quelques caractères

Résolu
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
Felice_ Messages postés 271 Statut Membre -
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;}}


2 réponses

  1. Felice_ Messages postés 271 Statut Membre 11
     
    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
    1. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
       
      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
  2. Felice_ Messages postés 271 Statut Membre 11
     
    ben change false à true ;-)

    if (autoriser.indexOf(String.fromCharCode(keyCode)) >= 0) {return true;}}
    0
    1. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
       
      Non ça me renvois un "undefineda" dont le "a" est égale au caractère tapé...
      0
    2. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
       
      Je crois que ça fonctionne, il fallait continuer la condition avec le
      else
      .
      Merci encore Falice
      0
      1. Felice_ Messages postés 271 Statut Membre 11 > Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention  
         
        Pas nécessaire le « else » tu peux faire direct le « return »… parce qu'ici t'es dans une fonction ;-)
        0