Salut,

Si votre expression rationnelle à un motif constant, quelle est la méthode que vous utilisez habituellement ?

1) La méthode RegExp.test() ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
var reg=/\.(?:bmp|gif|jpe?g|png)$/i;
if(reg.test(str))
	// Occurence trouvée (True renvoyé)
else
	// Occurence NON trouvée (False renvoyé)
2) La méthode String.math() ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if (str.match(/\.(?:bmp|gif|jpe?g|png)$/i))
	// Occurence trouvée ET renvoyée
else
	// Occurence NON trouvée (NULL renvoyé)
Concrètemment... Nous avons ci-dessous deux fonctions renvoyant un résultat booléen.

1) Utilisant RegExp.test()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function is_Extension(str){
	var reg=/\.(?:bmp|gif|jpe?g|png)$/i;
	return reg.test(str);
}
2) Utilsant String.math()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function is_Extension(str){
	var res=str.match(/\.(?:bmp|gif|jpe?g|png)$/i);
	return (res)?true:false;
}
Bien qu'elles jouent le même rôle toutes les deux, je voudrais savoir pourquoi privilégier l'une et pas l'autre.