Страницы

Поиск по вопросам

среда, 17 апреля 2019 г.

Проверка целой строки с помощью регулярного выражения

var re = /((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)/; var str4 = "1300.6.7.8"; console.log(re.test(str4));
почему тест выдаёт тру, объясните пожалуйста. цель - проверяю IP v.4 address


Ответ

Нужно добавить ^ (начало строки) в начало и $ (конец строки) в конец шаблона для проверки на начало и конец строки. Без ^ и $ находится подстрока.
var re = /((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)/; var str4 = "1300.6.7.8"; console.log(str4.match(re)); var re2 = /^(((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d))$/; console.log(str4.match(re2)); console.log(re2.test(str4));

Комментариев нет:

Отправить комментарий