почему регулярное выражение всегда true?
Пытаюсь сделать проверку при вставке в поле input. Но тест регулярного выражения всегда выдает true, в не зависимости от того что пишешь\вставляешь. Пишешь: Вася - True, Vasya - True. Почему так? Флаги не влияют на результат
textInputs.forEach(item => {
item.addEventListener('input', function () {
console.log(/[^A-z]*$/ig.test(this.value));
});
})
Ответы (2 шт):
Автор решения: Grundy
→ Ссылка
* указывает, что может быть 0 или больше повторений.
Таким об разом - отсутствие нужных символов в конце строки - допускается.
Если требуется, чтобы было 1 или больше - то следует использовать +
Автор решения: Sergei Kirjanov
→ Ссылка
Попробую догадаться: /^[A-Za-z]*$/.test(item.value)
Так можно проверить, что либо там ничего нет, либо только латинские буквы.