1. 程式人生 > >JS判斷變數是否為整數, 是否在範圍內

JS判斷變數是否為整數, 是否在範圍內

今天在做翻頁小外掛的時候需要跳頁輸入頁碼對輸入做簡單的js檢測, 要求是範圍內的整數,

比如最大有10頁就要求 輸入是大於0小於11的整數,

本來 以為挺簡單實則寫出來卻總有毛病, 最後終於算是成功了

檢測整數:

用的是正則表示式:

if(/^\d+$/.test(str))
 alert("是整數");
}

還有一些其他的可以用:

"^\\d+$"  //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整數
"^((-\\d+)|(0+))$"  //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$"  //負整數
"^-?\\d+$"    //整數
"^\\d+(\\.\\d+)?$"  //非負浮點數(正浮點數 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數
"^(-?\\d+)(\\.\\d+)?$"  //浮點數

限制範圍比較容易, 注意把輸入的字串轉換成數字就行了:

if(parseInt(num)<max&&parseInt(num)>min)
{
    alert("大於min小於max");
}