Interdire des caractères sur un copier-coller
Bonjour,
dans une application pour un client, j'ai un champ de recherche qui interdit certains caractères à la saisie :
Code:
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:
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