[英]Using a regular expression to validate whether input has any non digits in it
function validInteger(theNumber){
var anyNonDigits = new RegExp('\D','g');
if(parseInt(theNumber)&&!anyNonDigits.test(theNumber)){
return true;
}else{
return false;
}
}
以上是我為驗證一些輸入而編寫的函數。 我想要所有正整數。 我面臨的問題是使用RegExp對象。 這似乎應該是超級簡單的,但由於某種原因,它不起作用。
例如,如果我通過'f5',我會得到真的,但如果我通過'5f',我就會變錯。 傳遞負數時我也遇到了問題。 即使我在將變量傳遞給RegExp之前對變量進行了字符串化,-3也不會被捕獲。 我可以通過在if語句中添加' &&parseInt(theNumber)>0
'來解決這個問題,但我覺得RegExp也應該抓住它。 提前致謝!
如果沒關系,請不要使用RegExp,您可以:
function validInteger(theNumber){
var number = +theNumber;
return number > -1 && number % 1 === 0;
}
假設您將0視為正整數,並且您不希望區分+0和-0。
請注意,此功能將接受任何值theNumber
可在數轉換,所以不只是“串”,你可以通過數量以及課程。
簡單!
function validate(num){
return (num | 0) > 0;
};
此函數僅對正整數返回“true”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.