今天在做翻页小插件的时候需要跳页输入页码对输入做简单的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");
}