По задумке этот код должен выводить "hi", если строка состоит из цифр, но он выводит "hi" и в таких ситуациях 45645gh4, когда первый символ строки цифра. Мне нужно чтобы выполнялось условие если строка полностью состояла из цифр
var validInp =/['0-9']/;
if(validInp.test($('.input').val())) console.log('hi');
Удалите одиночные кавычки, для задания диапазона они не нужны. Добавьте символ + после закрывающей скобки, чтобы совпадение включало одну и более цифр. Заключите [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="Введите цифры">
Продвижение своими сайтами как стратегия роста и независимости