Size: a a a

JavaScript.Ninja

2021 May 15

Д

Даниэль in JavaScript.Ninja
Здравствуйте, в тайпскрипте в стандартной библиотеке есть такой тип, его можно как то переопределить, чтобы дженериком сделать?
источник

Д

Даниэль in JavaScript.Ninja
было бы прикольно сделать так, чтобы в случае sj тайпскрипт ругался
источник

БО

Богдан Ошовський... in JavaScript.Ninja
не правильная работа функции каждое нажатие кнопки меняется с тру на фолс и наоборот подскажите почему??

const input = document.querySelector('.email');
const button = document.querySelector('.button');
 let reg = /[A-Z0-9._%+-]+@[A-Z0-9-]+.[A-Z]{2,4}/igm;

 button.addEventListener('click', () => {
   if(!reg.test(input.value)){
     console.log('no')
   }else{
     console.log('yes')
   }
 })
источник

ДД

Дмитрий Дивин... in JavaScript.Ninja
Как и при вызове метода exec() (или при совместном с ним вызове), метод test(), вызванный несколько раз на одном и том же экземпляре глобального регулярного выражения, будет начинать проверку с конца предыдущего сопоставления.
источник

БО

Богдан Ошовський... in JavaScript.Ninja
какой метод лучше всего использовать для такой валидации?
источник

ДД

Дмитрий Дивин... in JavaScript.Ninja
Можете просто регулярку внутрь обработчика засунуть, чтобы каждый раз новый инстанс создавался
источник

MK

Maxim Kostenko in JavaScript.Ninja
Тут вроде будет достаточно удаления флага g
источник

RM

Roman Mironov in JavaScript.Ninja
Да
источник

RM

Roman Mironov in JavaScript.Ninja
ибо с флагом g дальнейший вызов будет начинаться с lastIndex как раз
источник

БО

Богдан Ошовський... in JavaScript.Ninja
Кто хорошо шарить в регулярке как сделать что запрещало в начале цифры?? Что бы такою строку запрещало 123qwerty@.com

 button.addEventListener('click', () => {
   if(!/[a-z0-9-]+@[a-z0-9-]+\.[a-z]{2,4}/igm.test(input.value)){
     console.log('no')
   }else{
     console.log('yes')
   }
 })
источник

RM

Roman Mironov in JavaScript.Ninja
[^0-9]
источник

БО

Богдан Ошовський... in JavaScript.Ninja
спасибо
источник

БО

Богдан Ошовський... in JavaScript.Ninja
Оно тогда мне все цифры запрещает а мне надо что бы только в начале
источник

БО

Богдан Ошовський... in JavaScript.Ninja
или я не правильно записал?
/[^0-9a-z0-9-]+@[a-z0-9-]+\.[a-z]{2,4}/igm
источник

RM

Roman Mironov in JavaScript.Ninja
ща пришлю верный вариант)
источник

БО

Богдан Ошовський... in JavaScript.Ninja
Благодарочка)
источник

RM

Roman Mironov in JavaScript.Ninja
держи, вроде, работает)
источник

RM

Roman Mironov in JavaScript.Ninja
/^[^0-9][a-z0-9-]+@[a-z0-9-]+\.[a-z]{2,4}/igm
источник

БО

Богдан Ошовський... in JavaScript.Ninja
спасибо
источник

MK

Maxim Kostenko in JavaScript.Ninja
Тоже так себе варик :) он же разрешает все кроме 0-9 как первый символ
источник