Особенности регулярок в js?

231
22 сентября 2017, 21:43
addIpToArray() {
    let newIp = '';
    isEmpty(this.mask) ? newIp = this.ip : newIp = this.ip + '/' + this.mask;
    console.log(newIp)
    let test = this.regexp.test(newIp)
    console.log(test)
}

Нужно провалидировать айпишник с маской. Возвращает true, false, true, false. т.е. при каждой итерации разное значание. В чем может быть проблема? Регулярка:

/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$/g
Answer 1

В чем может быть проблема?

Убери у регулярки флаг g. Из-за него она пытается продолжать поиск с прошлого вхождения вместо того, чтобы проверять строку.

var r1 = /^.$/, r2 = /^.$/g; 
 
console.log(["a", "b", "c", "d"].map(s => r1.test(s)).join(" ")); 
console.log(["a", "b", "c", "d"].map(s => r2.test(s)).join(" "));

READ ALSO
Нужна правка скрипта Google Apps Script. Помогите

Нужна правка скрипта Google Apps Script. Помогите

Есть скрипт, который собирает данные с polonixcom и отображает в таблице, но в скрипте закреплена валютная пара, которая парсится и закреплена...

267
Как собрать (скомпилировать )проект на nw.js в windows7

Как собрать (скомпилировать )проект на nw.js в windows7

Как скомпилировать или (собрать) nwjs в Windows 7 Pack 1 Нашёл скрипт

162
Django как рендерить js файл?

Django как рендерить js файл?

Пробую делать так:

225
Формат значения в localStorage

Формат значения в localStorage

Вопрос, честно говоря, довольно глупый, но когда я заношу вот такое значение localStoragesetItem('item', 1), например, на выходе получаю строку

206