Проверка input на наличие цифр

111
02 декабря 2020, 05:50

По задумке этот код должен выводить "hi", если строка состоит из цифр, но он выводит "hi" и в таких ситуациях 45645gh4, когда первый символ строки цифра. Мне нужно чтобы выполнялось условие если строка полностью состояла из цифр

    var validInp =/['0-9']/; 
    if(validInp.test($('.input').val())) console.log('hi');

Answer 1

Удалите одиночные кавычки, для задания диапазона они не нужны. Добавьте символ + после закрывающей скобки, чтобы совпадение включало одну и более цифр. Заключите [0-9]+ в ^ (начало строки) и $ (конец строки).

Вы можете использовать

var validInp =/^[0-9]+$/;

Можно использовать синонимичное в JavaScript выражение /^\d+$/.

var validInp =/^[0-9]+$/; 
 
$(function(){ 
        $("input").on('input', function(){ 
            if (validInp.test($(this).val())) { 
               console.log('hi'); 
            } else { 
               console.log('bye'); 
            } 
        });         
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<input type="text" id="input" value="" placeholder="Введите цифры">

READ ALSO
Передать адрес как переменную

Передать адрес как переменную

Я хочу написать функцию, которая принимает ссылку на определенный объект (адрес) как аргумент и в конце выполнения присваивает полученный...

106
Проблема с yandex-maps-api

Проблема с yandex-maps-api

Когда кликаю на меню, то открывается балун, но не пропадает иконка под ним

116
Зачем в коде if? [закрыт]

Зачем в коде if? [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

112
Почему не выводится textContent?

Почему не выводится textContent?

К примеру имеем обычные параграфы

124