使用jquery判断是否为数字

来源:互联网 发布:windows视频播放器 编辑:程序博客网 时间:2024/05/19 07:11

方法一:使用isNaN() 函数

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

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

方法二:使用正则表达式判断

常用正则:
    " /^(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+)("         //浮点数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
实例:  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    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

知识拓展: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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

输出的结果是: 


1492855437972 
999 
NaN

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

本文参考了一下链接: 
http://www.cnblogs.com/-walker/p/5933458.html