Déterminer la classe d'une ipv4 (a,b,c,d,e)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 006 fois - Téléchargée 16 fois

Contenu du snippet

Permet de vérifier a quelle classe (A,B,C,D,E) une adresse IPV4 appartient.

N'importe qu'elle classe : 0.0.0.0 .. 255.255.255.255

Classe A : 0.0.0.0 .. 127.255.255.255
Classe B : 128.0.0.0 .. 191.255.255.255
Classe C : 192.0.0.0 .. 223.255.255.255
Classe D : 224.0.0.0 .. 239.255.255.255
Classe E : 240.0.0.0 .. 255.255.255.255

Source / Exemple :


// classe A,B,C,D,E (0.0.0.0 to 255.255.255.255)
^([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

// classe A (0.0.0.0 to 127.255.255.255)
^([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-7])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

// classe B (128.0.0.0 to 191.255.255.255)
^(12[8-9]|1[3-8][0-9]|19[0-1])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

// classe C (192.0.0.0 to 223.255.255.255)
^(19[2-9]|2[0-1][0-9]|22[0-3])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

// classe D (224.0.0.0 to 239.255.255.255)
^(22[4-9]|23[0-9])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

// classe E (240.0.0.0 to 255.255.255.255)
^(24[0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

A voir également

Ajouter un commentaire

Commentaires

cs_krevette
Messages postés
137
Date d'inscription
lundi 14 octobre 2002
Statut
Membre
Dernière intervention
21 janvier 2009

Je n'ai pas testé l'expression mais perso je trouve l'expression assez complexe pour un test qui me parait assez simple, enfin cela dépend peut être du langage.

Si on découpe l'ip de cette manière IP_W.IP_X.IP_Y.IP_Z il suffit juste de récupérer l'IP_W et de faire les tests suivant:
IF IP_W > 239
Classe E : 240.0.0.0 .. 255.255.255.255
IF IP_W > 223
Classe D : 224.0.0.0 .. 239.255.255.255
IF IP_W > 291
Classe C : 192.0.0.0 .. 223.255.255.255
IF IP_W > 127
Classe B : 128.0.0.0 .. 191.255.255.255
ELSE
Classe A : 0.0.0.0 .. 127.255.255.255

Enfin suivant les langages à voir en terme de consommation CPU.

Ciao@++
zen69
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
Je ne l'ai pas tester mais ce code m'a l'air super!!

Bonne idée!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.