function validInteger(theNumber){
var anyNonDigits = new RegExp('\D','g');
if(parseInt(theNumber)&&!anyNonDigits.test(theNumber)){
return true;
}else{
return false;
}
}
Выше приведена функция, которую я написал для проверки некоторых входных данных. Мне нужны все положительные целые числа. Проблема, с которой я столкнулся, связана с объектом RegExp. Кажется, что это должно быть очень просто, но по какой-то причине это не работает.
Например, если я передаю 'f5', я получаю true, но если я передаю '5f', я получаю false. У меня также возникают проблемы при передаче отрицательных чисел. -3 не перехватывается, даже если я преобразую переменную в строку перед ее передачей в RegExp. Я могу исправить это, добавив '&&parseInt(theNumber)>0
' в свой оператор if, но мне кажется, что регулярное выражение тоже должно улавливать это. Заранее спасибо!