Простейшая регулярка и я не пойму в чем ошибка. Нужно проверять что бы в строке не было "@"
Моя регулярка
reg = /^[^@]{3,30}$/g;
но при использовании вижу следующее
reg = /^[^@]{3,30}$/g;
console.log(reg.test('dddd')); //true
console.log(reg.test('ddddd')); //false
Как так?
Как указано в справке
Как и при вызове метода exec() (или при совместном с ним вызове), метод test(), вызванный несколько раз на одном и том же экземпляре регулярного выражения, будет начинать проверку с конца предыдущего сопоставления.
Поэтому при следующем вызове reg.test
проверка идет не с начала строки, а, в данном случае, с 4 индекса.
Как указано в английском ответе это происходит из-за флага g
.
В случае его отсутствия работать будет ожидаемо:
reg = /^[^@]{3,30}$/;
console.log(reg.test('dddd')); //true
console.log(reg.test('ddddd')); //false
Виртуальный выделенный сервер (VDS) становится отличным выбором
Знатоки, подскажите, пожалуйста, как переключиться на другую вкладку?
Через инспектор кнопка находится, а вот через JS нетИспользую такой код:
Хочу передать данные из дополнительных полей материала K2 в форму Chronoforms 6Форма встроена в материал через шорткод {chronoforms6}myform{/chronoforms6}