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));
Лучше обойтись без регулярных выражений:
function isIPv4(ip) {
let parts = ip.split('.');
if (parts.length !== 4) return false;
return parts.map(p => +p)
.every(p => p >= 0 && p < 256);
}
[
'127.0.0.1',
'1.2a.3.4',
'256.0.0.0'
].forEach(ip => console.log(ip, isIPv4(ip)));
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При добавлении к конструктору Array свойства flatMap нужно задать определенный контекстКак это лучше сделать?
Как сделать чтобы работала валидация required для одного конкретного скрытого поля из массива полей для загрузки, например
Мне нужно через консоль написать команды, изменяющие параметры отдельных элементов на веб страницеКак сделать это вручную, через вкладку...