Home  >  Article  >  Web Front-end  >  How does jquery determine whether it is a number?

How does jquery determine whether it is a number?

青灯夜游
青灯夜游Original
2020-11-23 09:37:478160browse

判断方法:1、使用“$.isNumeric(x)”,可判断指定参数“x”是否是数字值;2、使用“isNaN(x)”,可判断参数“x”是否是为数字值;3、使用正则表达式“/^(-)?\d+(\.\d+)?$/”配合test来判断数字。

How does jquery determine whether it is a number?

本教程操作环境:windows7系统、jquery3.2.1版,该方法适用于所有品牌电脑。

相关推荐:《jQuery视频

jquery判断变量是否为数字的方法

方法1、使用$.isNumeric()

jquery里内置的一个用来判断是否为数字的函数$.isNumeric()。$.isNumeric() 函数用于判断指定参数是否是一个数字值。

用$.isNumeric()来判断是否为数字的话,一些特殊的字符会被当成8进制或12进制的数字,判定为true。

注意:在jQuery 3.0中,$.isNumeric()方法只有接收number类型的参数,或者是可以被强制为有限数值的 string类型的参数时,才会返回true,否则返回false。

语法

$.isNumeric( value )

参数:

value:任意类型,需要进行判断的任意值。

示例:

$.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() 函数

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:使用正则表达式判断

常用正则:

    " /^(0|[1-9]\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
    }
}

知识拓展:JavaScript的Number()函数 —-这里不是判断方法

<script type="text/javascript">
 
var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");
 
document.write(Number(test1)+ "<br />");
document.write(Number(test2)+ "<br />");
document.write(Number(test3)+ "<br />");
document.write(Number(test4)+ "<br />");
document.write(Number(test5)+ "<br />");
</script>

输出的结果是: 

1 
0 
1492855437972 
999 
NaN

可以看出在JavaScript中0代表false,1代表true。但是我测试了一下,除0以外的数放在if的条件中,都可以执行if语句内容。所以。可以得出除0以外的所有数都可以代表true。

更多编程相关知识,请访问:编程课程!!

The above is the detailed content of How does jquery determine whether it is a number?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn