N'autoriser que quelques caractères

Résolu
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. 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. 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. ben change false à true ;-)

    if (autoriser.indexOf(String.fromCharCode(keyCode)) >= 0) {return true;}}
    0
    1. Non ça me renvois un "undefineda" dont le "a" est égale au caractère tapé...
      0
    2. Je crois que ça fonctionne, il fallait continuer la condition avec le
      else
      .
      Merci encore Falice
      0
    3. @SinistrusPas nécessaire le « else » tu peux faire direct le « return »… parce qu'ici t'es dans une fonction ;-)
      0