Vérification d'adresse MAC
L’addresse MAC d’une interface réseau est constitué de 6 paires de nombres hexadécimaux séparées par un double point.
Par exemple : '01:32:54:67:89:AB'
.
Écrire une regexp qui vérifie qu’une chaîne de caractères soit bien une adresse MAC.
Utilisation:
let regexp = /your regexp/;
alert( regexp.test('01:32:54:67:89:AB') ); // true
alert( regexp.test('0132546789AB') ); // false (double point manquant)
alert( regexp.test('01:32:54:67:89') ); // false (5 paires, mais 6 attendues)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ à la fin)
Un nombre hexadécimal à deux chiffres correspond à [0-9a-f]{2}
(avec le marqueur i
).
Nous avons besoin de ce nombre NN
, et ensuite :NN
répété 5 fois (pour les autres nombres) ;
L’expression régulière est : [0-9a-f]{2}(:[0-9a-f]{2}){5}
Montrons maintenant que la correspondance se fait bien sur l’ensemble du texte : commence dès le début de la chaîne testée et termine à la fin. Cela se fait en entourant le motif de ^...$
.
Finalement :
let regexp = /^[0-9a-f]{2}(:[0-9a-f]{2}){5}$/i;
alert( regexp.test('01:32:54:67:89:AB') ); // true
alert( regexp.test('0132546789AB') ); // false (pas de double point)
alert( regexp.test('01:32:54:67:89') ); // false (5 nombres, au lieu de 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ à la fin)