Задать вопрос
@Stazhor

Как правильно сравнивать с помощью регулярного выражения в JS?

У меня есть инпут, в нем необходимо провести проверку вводимых данных. В пустой инпут запрещено помещать 0 или точку. Пытаюсь сделать это через регулярное выражение, но ничего не получается. Вот скину пример, хотя-бы на ноле. (Хотя если я в проверку помещаю ночь, как число проверка проходит успешно)

var out = document.getElementById("out");
function insert(but) {
var proverka = /0/;
if (out.value == "" && but == proverka) {
out.value = "";
} else {
out.value += but;
}
}
  • Вопрос задан
  • 1516 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
spnq
@spnq
Frontend Developer
У JS в прототипе регулярок как раз для этого есть метод test.
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Пример:
(/[()\_\-\+\s]/).test(symbol)
В скобках перед .test лежит регулярка, их можно обозначать по разному (https://developer.mozilla.org/ru/docs/Web/JavaScri...
symbol это некая строка. На выход будет true или false в зависимости от соответсвия.

Плюс в HTML5 есть атрибут pattern (https://www.w3schools.com/tags/att_input_pattern.asp), он сюда в принципе подойдет.
Или можно повестить проверку на ивент oninput, но вопрос был про регулярки на js, так что reg.test(str) будет правильнее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Azperin
Дилетант
but == proverka это как вообще ?
Проверка осуществляется через .test https://developer.mozilla.org/ru/docs/Web/JavaScri...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы