Вернуться к уроку

Проверьте MAC-адрес

MAC-адрес сетевого интерфейса состоит из шести двузначных шестнадцатеричных чисел, разделённых двоеточием.

Например: '01:32:54:67:89:AB'.

Напишите регулярное выражение, которое по строке проверяет, является ли она корректным MAC-адресом.

Использование:

var re = ваш регэксп

alert( re.test('01:32:54:67:89:AB') ); // true

alert( re.test('0132546789AB') ); // false (нет двоеточий)

alert( re.test('01:32:54:67:89') ); // false (5 чисел, а не 6)

alert( re.test('01:32:54:67:89:ZZ') ) // false (ZZ в конце)

Двузначное шестнадцатиричное число – это [0-9a-f]{2} (с учётом флага /i).

Нам нужно одно такое число, и за ним ещё 5 с двоеточиями перед ними: [0-9a-f]{2}(:[0-9a-f]{2}){5}

И, наконец, совпадение должно начинаться в начале строки и заканчиваться – в конце. То есть, строка целиком должна подходить под шаблон. Для этого обернём шаблон в ^...$.

Итого, в действии:

var re = /^[0-9a-f]{2}(:[0-9a-f]{2}){5}$/i;

alert( re.test('01:32:54:67:89:AB') ); // true

alert( re.test('0132546789AB') ); // false (нет двоеточий)

alert( re.test('01:32:54:67:89') ); // false (5 чисел, а не 6)

alert( re.test('01:32:54:67:89:ZZ') ) // false (ZZ в конце)