JS|JQ 判断是否为数字
JavaScript 函数
1.isNaN()
<script language="javascript">
var txt='123';
if(!isNaN(txt)){
alert("数字");
}else{
alert("非数字");
}
</script>
2.Number() 函数
Number("123") // 123
Number("123 456") // 123
Number("你好") // NaN
jQuery 函数
1.$.isNumeric();
$.isNumeric(1.23); //true
$.isNumeric("1.23"); //true
$.isNumeric(-1.23); //true
$.isNumeric("-1.23"); //true
$.isNumeric("01.23"); //true
$.isNumeric(0123); //true
$.isNumeric(00123); //true
$.isNumeric(+1.23); //true
$.isNumeric(0xFF); //true
$.isNumeric("0xFF"); //true
$.isNumeric(true); //false
$.isNumeric(NaN); //false
2.isNaN();
不是数字则为true,是数字则为false,空值,空格当0
isNaN("abc");//true
isNaN(null);//false
3.Number();
字符转数字,但是遇到字符串会返回 NaN,遇到NULL或空格返回 0
Number("aijquery.cn");//NaN
Number(null);//0
4.正则匹配
var r=/^[1-9][0-9]+$/gi;
r.test("123");//true
r.test("0123");//false
var r=/^[0-9]*$/; //数字
var r=/^\d{n}$/; //验证n位的数字
var r=/^\d{n,}$/; //验证至少n位数字
var r=/^\d{m,n}$/; //验证m-n位的数字
var r=/^(0|[1-9][0-9]*)$/; //验证零和非零开头的数字
var r=/^[0-9]+(.[0-9]{2})?$/; //验证有两位小数的正实数
var r=/^[0-9]+(.[0-9]{1,3})?$/; //验证有1-3位小数的正实数
var r=/^\+?[1-9][0-9]*$/; //验证非零的正整数
var r=/^\-[1-9][0-9]*$/; //验证非零的负整数
var r=/^\d+$/; //验证非负整数
var r=/^((-\d+)|(0+))$/;//验证非正整数