Bonjour,

dans une application pour un client, j'ai un champ de recherche qui interdit certains caractères à la saisie :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
var caracteresInterdits = '><"\')(][';
var codesInterdits = [167,164]; // pour § et ¤
function InterdireCaracteres() {
   var k = document.all ? parseInt(event.keyCode) : parseInt(e.which);
      event.returnValue = ((caracteresInterdits).indexOf(String.fromCharCode(k)) == -1 && !Array.contains(codesInterdits,k));
}

Seulement sur un copier-coller, les caractères en question peuvent apparaître dans ma textbox.
J'ai vu qu'il existait une function onpaste

Du coup j'ai commencer à la coder :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
function InterdireCaracteresOnPaste(targetField, sourceEvent)
{
   var clipboardText;
   var result;
   var pasteAllowed = true;
   clipboardText = window.clipboardData.getData("Text");
   result = clipboardText.replace(caracteresInterdits,""); ???
   pasteAllowed = !isNaN(result);
 
   //SourceEvent.returnValue = pasteAllowed;
   return (true);
}

Mais mon replace ici ne fonctionne pas puisqu'il prend toute la chaine de caractère caracteresInterdits.

Du coup, est-ce qu'il y a moyen de faire ça simplement ?

Merci de votre aide