Utilisation de Replace() avec la HTML textbox.value
Bonjour � tous. Ma premi�re tentative � utiliser ce forum alors j'esp�re �tre dans le bon endroit pour cette question.
Voici les trois fonctions que j'utilise mais je n'arrive pas � faire un replace() des caract�res avec accents. Pourtant les fonctions replace fonctionnent si j'assigne directement une cha�ne lit�rale � chaine dans la fonction noaccent().
Voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
function validation() {
// la valeur du textbox HTML nommé: nom
var txtValue = document.getElementById("nom").value;
if (isValidNameType(txtValue) == false) {
showError(document.getElementById("errnom"), STR_ERR_INVALID_NAME, "errlabelon");
valid = false;
}
return valid;
}
function isValidNameType(txtToVerify) {
var regex = new RegExp("[^a-zA-Z \-]+", "g");
var tempText = noaccent(txtToVerify);
// Je renvoi l'inverse du résultat car celui-ci défini si on a
// trouver des caractères illicites rendant la chaîne invalide.
return (regex.test(tempText) == false)
}
function noaccent(chaine) {
var temp = chaine.replace(/[àâä]/g, "a");
temp = temp.replace(/[éèêë]/g, "e");
temp = temp.replace(/[îï]/g, "i");
temp = temp.replace(/[ôö]/g, "o");
temp = temp.replace(/[ùûü]/g, "u");
temp = temp.replace(/[ÀÂÄ]/g, "A");
temp = temp.replace(/[ÉÈÊË]/g, "E");
temp = temp.replace(/[ÎÏ]/g, "I");
temp = temp.replace(/[ÔÖ]/g, "O");
temp = temp.replace(/[ÙÛÜ]/g, "U");
return temp;
} |
Est-ce que le probl�me pourrait venir du transfert de la cha�ne parmis les trois fonctions? J'ai essayer plusieurs alternatives mais rien n'y va.
J'admet �tre un peu nouveau pour ce qui est du javascript. Merci d'avance � qui pourra y voir claire ! :)
Voici la solution trouv�e.
C'est un 'hack' pour l'instant mais je ne vois pas comment faire autrement. Au moins �a marche ! :)
J'ai essayer de mettre la fonction plus haut sur la page externe de JS mais cela n'a rien changer au probl�me.
J'ai garder la fonction noaccent(chaine) dans une balise script sur la page HTML. Les deux autres fonctions restent sur la page externe. Ca marche.
Je ne sais pas pourquoi ca marche mais au moins je r�ussit mes validations ainsi. Un jour proche, j'y regarderai de plus pr�s mais le projet est d� pour ce soir alors pour l'instant ce 'hack' me suffit.