Problème expression régulière

NicoIRIS Messages postés 33 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 1 décembre 2009 - 1 déc. 2009 à 16:43
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014 - 1 déc. 2009 à 19:24
Bonjour,

je souhaite vérifier la bonne conformité d'une adresse mac renseigné par un utilisateur. Pour ce faire, je split ma chaine sur les : je mets ça dans un tableau et ensuite je voulais tester si chaque octet est compris entre 00 et FE via une expression régulière.
Voici la fonction :

function Verif_mac(mac_val){
var tab = mac_val.split(':');
var cpt = tab.length;
if (cpt!=6){
alert('l\'adresse MAC est invalide ');
return -1;
}else{
val1 = tab[0].toUpperCase();
val2 = tab[1].toUpperCase();
val3 = tab[2].toUpperCase();
val4 = tab[3].toUpperCase();
val5 = tab[4].toUpperCase();
val6 = tab[5].toUpperCase();

if( val1=='' || val2=='' || val3=='' || val4=='' || val5=='' || val6=='' ){
alert('l\'adresse MAC est invalide ');
return -1;
}else{
var modele = /.^[0-9A-Zaz].[0-9A-Z]$/;
val1 = val1.toUpperCase();
val2 = val2.toUpperCase();
val3 = val3.toUpperCase();
val4 = val4.toUpperCase();
val5 = val5.toUpperCase();
val6 = val6.toUpperCase();

if((modele.test(val1)) && (modele.test(val2)) &&(modele.test(val3)) && (modele.test(val4)) && (modele.test(val5)) && (modele.test(val6)) ){
alert("adresse valide");
return 0;
}else{
alert('l\'adresse MAC est invalide ');
return -1;
}

}
}
}

Merci d'avance pour vos réponses

3 réponses

NicoIRIS Messages postés 33 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 1 décembre 2009
1 déc. 2009 à 16:47
mince je me suis trompé en recopiant....

var modele = /.^[0-9A-Z].[0-9A-Z]$/;

Mais je ne sais pas si elle est bonne :(

J'ai testé différentes expressions mais ça ne me renvoyait pas le résultat escompté.

Merci pour l'aide que vous m'apporterez
0
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
1 déc. 2009 à 19:15
t as pas un exemple d'adresse mac?

pour une ip ->
    /^\d{1,3}\.\d{1,3}.\d{1,3}.\d{1,3}$/.test(ip);


ca pourra ptete d'aider
0
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
1 déc. 2009 à 19:24
en faite ma reg est fausse :(

/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/


celle-ci est ok!

normalement, tu devrais pas avoir a passer par une fonction, juste une reg devrait suffire.
0
Rejoignez-nous