菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
21
0

jquery如何判断是否为数字?

原创
05/13 14:22
阅读数 1568

在jquery里,我们可以用下面这些方法来判断变量是否是数字:

1、$.isNumeric();

jquery里内置的一个用来判断是否为数字的函数,用$.isNumeric()来判断是否为数字的话,一些特殊的字符会被当成8进制或12进制的数字,判定为true,如:(相关课程推荐:jQuery教程

$.isNumeric(0xFF);    //true
$.isNumeric("0xFF");    //true
$.isNumeric(3.13);    //true
$.isNumeric("3.13");    //true
$.isNumeric(-3.13);    //true
$.isNumeric("-3.13");    //true
$.isNumeric("03.13");    //true
$.isNumeric(01);    //true
$.isNumeric(001);    //true
$.isNumeric(+3.13);    //true
$.isNumeric(0xFF);    //true
$.isNumeric("0xFF");    //true
$.isNumeric(true);    //false
$.isNumeric(NaN);    //false

2、isNaN();

js里的一个用来判断是否为数字的函数,它的意思是“not a number”,即“判断是否不是个数字,不是数字则为true,是数字则为false”,它的缺点就是一些值为空的变量,如null,空格等,会把它们转成“0”当成数字来处理:

var val = $("#test").val();
var ival = parseInt(val);//如果变量val是字符类型的数则转换为int类型 如果不是则ival为NaN
alert(typeof(ival));
if(!isNaN(ival)){
alert(val +"是数字");
} else{
alert(val +"不是数字");
}

说明: isNaN()函数,如果传入的参数是数字返回false,否则返回true

3、使用正则表达式判断

常用正则:

"^\\d+$"           //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"    //正整数

"^((-\\d+)|(0+))$"     //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"   //负整数

"^-?\\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+("         //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"   //负浮点数

"^(-?\\d+)("         //浮点数

实例:

var r = /^\+?[1-9][0-9]*$/;  //判断是否为正整数 
 r.test(str);

或者:

function isNumber(value) {         //验证是否为数字
    var patrn = /^(-)?\d+(\.\d+)?$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}

发表评论

0/200
21 点赞
0 评论
收藏
为你推荐 换一批