Проверьте MAC-адрес
MAC-адрес сетевого интерфейса состоит из 6-ти двузначных шестнадцатеричных чисел, разделённых двоеточиями.
Например: '01:32:54:67:89:AB'
.
Напишите регулярное выражение, которое проверит, является ли строка MAC-адресом.
Использование:
let regexp = /ваш regexp/;
alert( regexp.test('01:32:54:67:89:AB') ); // true
alert( regexp.test('0132546789AB') ); // false (нет двоеточий)
alert( regexp.test('01:32:54:67:89') ); // false (5 чисел, должно быть 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ в конце строки)
Двузначное шестнадцатеричное число – это [0-9a-f]{2}
(предполагается, что флаг i
стоит).
Нам нужно число NN
, после которого :NN
повторяется ещё 5 раз.
Регулярное выражение: [0-9a-f]{2}(:[0-9a-f]{2}){5}
Теперь давайте покажем, что шаблон должен захватить весь текст (всю строку): от начала и до конца. Для этого обернём шаблон в ^...$
.
Итог:
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 (нет двоеточий)
alert( regexp.test('01:32:54:67:89') ); // false (5 чисел, должно быть 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ в конце строки)