Мне нужно вернуть true
, если вводимое значение содержит любые цифры, а так же точку или запятую, или двоеточие.
Пробовал так, но работает некорректно:
val.match(/^[0-9]|\.|,|:*$/)
Во-первых, для проверки совпадения в строке можно воспользоваться соответствующим методом RegExp#test()
, который возвращает true
(если совпадение найдено) или false
(если совпадение не найдено).
Выражение ^[0-9]|\.|,|:*$
вернёт true
, если строка начинается с цифры (^[0-9]
), содержит .
или ,
(\.|,
) или заканчивается на 0 и более знаков :
(:*$
). Из-за :*$
совпадение будет найдено в любой строке, так как в любой строке есть конец строки.
Вам нужно одно из двух выражений:
if (/[\d.,:]/.test(str)) { return true; }
if (/^[\d.,:]*$/.test(str)) { return true; }
или - если строка не может быть пустой - if (/^[\d.,:]+$/.test(str)) { return true; }
Вот и всё выражение должно быть: /[0-9.,:]/
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Помогите пожалуйста понять синтаксис выражения на Javascript в React (Mobx) :
На сайте подключен внешний удаленный javascript таким образом:
Делаю чатПосле того как приходит новое сообщение, прокручиваю скролл до конца страницы, что бы отобразить его:
Мой url /course/{id}"Из за того что в url есть id, html страница игнорирует <script>