JQuery判断字符串是否是数字
第一种方法isNaN()函数
js里的一个用来判断是否为数字的函数,它的意思是“not a number”,即“判断是否不是个数字,不是数字则为true,是数字则为false”,它的缺点就是一些值为空的变量,如null,空格等,会把它们转成“0”当成数字来处理
var t= "11"
if(!isNaN(t)){
alert("是数字");
}else{
alert("不全是数字");
}
第二种方法Number()函数
Number()函数其实是js里用来把字符串转为数字的,但也可以被我们拿来用作判断是否为数字,如果不是数字就返回值”NaN”,但和上面的isNaN()一样,如果值为null或空时,会返回一个0
Number("123");//123
Number("qwe");//NaN
Number(null);//0
第三种 正则验证
最安全,最完整的方法!!可以根据自己的需求来打造具体的判断规则。
一些通用的规则:
数字:var r=/^[0-9]*$/;
验证n位的数字:var r=/^\d{n}$/;
验证至少n位数字:var r=/^\d{n,}$/;
验证m-n位的数字:var r=/^\d{m,n}$/;
验证零和非零开头的数字:var r=/^(0|[1-9][0-9]*)$/;
验证有两位小数的正实数:var r=/^[0-9]+(.[0-9]{2})?$/;
验证有1-3位小数的正实数:var r=/^[0-9]+(.[0-9]{1,3})?$/;
验证非零的正整数:var r=/^\+?[1-9][0-9]*$/;
验证非零的负整数:var r=/^\-[1-9][0-9]*$/;
验证非负整数 var r=/^\d+$/;
验证非正整数 var r=/^((-\d+)|(0+))$/;
还没有评论,来说两句吧...