This commit is contained in:
Ilya Kantor 2017-03-19 20:40:47 +03:00
parent 75e30539ef
commit 62c507c78f
92 changed files with 583 additions and 574 deletions

View file

@ -0,0 +1,20 @@
Двузначное шестнадцатиричное число -- это `pattern:[0-9a-f]{2}` (с учётом флага `pattern:/i`).
Нам нужно одно такое число, и за ним ещё 5 с двоеточиями перед ними: `pattern:[0-9a-f]{2}(:[0-9a-f]{2}){5}`
И, наконец, совпадение должно начинаться в начале строки и заканчиваться -- в конце. То есть, строка целиком должна подходить под шаблон. Для этого обернём шаблон в `pattern:^...$`.
Итого, в действии:
```js run
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 в конце)
```

View file

@ -0,0 +1,21 @@
# Проверьте MAC-адрес
MAC-адрес сетевого интерфейса состоит из шести двузначных шестнадцатеричных чисел, разделённых двоеточием.
Например: `subject:'01:32:54:67:89:AB'`.
Напишите регулярное выражение, которое по строке проверяет, является ли она корректным MAC-адресом.
Использование:
```js
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 в конце)
```