en.javascript.info/10-regular-expressions-javascript/12-regexp-ahchors/2-test-mac/solution.md
Ilya Kantor 62c507c78f ok
2017-03-19 20:40:47 +03:00

977 B
Raw Blame History

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

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

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

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

var re = /^[0-9a-fA-F]{2}(:[0-9a-fA-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 в конце)