Objet Regexp
L'objet JavaScript Regexp
L'objet JavaScript Regexp permet d'utiliser les expressions régulière.
Les méthodes de l'objet RegExp
Les méthodes sont des fonctions liées à un objet déterminé, qui exécutent des actions.• exec() : appliquer une expression régulière
• test() : appliquer une expression régulière (pour le test: essayer)
strong>Exemple d'utilisation de la méthode exec()
Objectif: transformer un format de téléphone "0123456789" en "01 23 45 67 89"
<script type="text/javascript">
var tel = "0123456789";
var trans = /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/;
trans.exec(tel);
document.write(RegExp.$1," ",RegExp.$2," ",RegExp.$3," ",RegExp.$4," ",RegExp.$5);
</script>
Résultat :
L'expression régulière dans la variable "trans" reproduit le format de base recherché :
5 bloc de 2 chiffres de 0 à 9, soit [0-9]{2}
"RegExp.$x" permet d'appeler et d'écrire ces 5 blocs avec un formatage precis.
On peut récupérer la valeur de la variable "tel" depuis un champ de formulaire appelé "telephone" comme ceci: var tel = window.document.forms[0].telephone.value;
Objectif: transformer un format de téléphone "0123456789" en "01 23 45 67 89"
<script type="text/javascript">
var tel = "0123456789";
var trans = /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/;
trans.exec(tel);
document.write(RegExp.$1," ",RegExp.$2," ",RegExp.$3," ",RegExp.$4," ",RegExp.$5);
</script>
Résultat :
L'expression régulière dans la variable "trans" reproduit le format de base recherché :
5 bloc de 2 chiffres de 0 à 9, soit [0-9]{2}
"RegExp.$x" permet d'appeler et d'écrire ces 5 blocs avec un formatage precis.
On peut récupérer la valeur de la variable "tel" depuis un champ de formulaire appelé "telephone" comme ceci: var tel = window.document.forms[0].telephone.value;
Autre exemple d'utilisation de la méthode exec()
Objectif: rechercher le nombre d'occurences d'un mot
<script type="text/javascript">
var phrase = "Easy-micro, la micro facile";
var recherche = /(micro)/g;
var resultat = recherche.exec(phrase);
if (resultat == null)
document.write("Pas d'occurence"); }
else { document.write(resultat.length + " occurrences"); }
</script>
Résultat :
Note: l'expressions régulière "/.../g" spécifie une recherche avec respect de la casse et
l'expressions régulière "/.../i" spécifie une recherche sans respecter la casse.
Un if est utilisé dans l'exemple ci-dessus, en guise de test dans le cas ou il n'y a pas d'occurence comme, par exemple, une recherche sur le mot "Micro" toujours avec l'option "g".
Objectif: rechercher le nombre d'occurences d'un mot
<script type="text/javascript">
var phrase = "Easy-micro, la micro facile";
var recherche = /(micro)/g;
var resultat = recherche.exec(phrase);
if (resultat == null)
document.write("Pas d'occurence"); }
else { document.write(resultat.length + " occurrences"); }
</script>
Résultat :
Note: l'expressions régulière "/.../g" spécifie une recherche avec respect de la casse et
l'expressions régulière "/.../i" spécifie une recherche sans respecter la casse.
Un if est utilisé dans l'exemple ci-dessus, en guise de test dans le cas ou il n'y a pas d'occurence comme, par exemple, une recherche sur le mot "Micro" toujours avec l'option "g".
Autre exemple d'utilisation de la méthode exec()
Objectif: vérifier la validité d'un code postal
<script type="text/javascript">
function verif_cp(cp)
{
var reg_cp = /^[0-9]{5}$/
//code postal francais ^(0[1-9]|[1-9][0-9])[0-9]{3}$
if (!(reg_cp.exec(cp)!=null))
{
alert("Le code postal saisie n'est pas au format valide !");
return(false);
}
return(true);
}
</script>
Objectif: vérifier la validité d'un code postal
<script type="text/javascript">
function verif_cp(cp)
{
var reg_cp = /^[0-9]{5}$/
//code postal francais ^(0[1-9]|[1-9][0-9])[0-9]{3}$
if (!(reg_cp.exec(cp)!=null))
{
alert("Le code postal saisie n'est pas au format valide !");
return(false);
}
return(true);
}
</script>
Voir d'autre exemples d'expressions régulière avec l'objet string.
Voir aussi la syntaxe des expressions régulière sur l'excellent site "Self Html".