使用jquery判断是否为数字

使用jquery判断是否为数字

方法一:使用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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106303.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dns欺骗编辑html,charles DNS欺骗

    dns欺骗编辑html,charles DNS欺骗DNS欺骗/DNSSpoofing功能:通过将您自己的主机名指定给远程地址映射来欺骗DNS查找一般的开发流程中,在上线之前都需要在测试环境中先行进行验证,而此时手机客户端请求的域名是不太容易改变的,可以通过设置dns方式把域名转发到测试机上,具体设置Tools->DNSSpoofingSettings比如要把所有包含xxxxxx.com的域名转到10.0.0.71的服务器上,其实用修改…

    2025年5月27日
    5
  • 完美解决Spring@Autowired无法注入AbstractInterceptor

    完美解决Spring@Autowired无法注入AbstractInterceptor今天在使用AbstractInterceptor拦截时,发现Spring@Autowired无法注入,返回结果为null。捣腾了下,手动配置了下,完美解决。直接上图首先建立一个获取工厂的帮助类:在application配置文件配置我们要用的bean:配置好后,直接调用:好了,该写下一个bug了。。。。。。…

    2022年5月14日
    36
  • mysql数据库忘记密码时如何修改(本地)「建议收藏」

    mysql数据库忘记密码时如何修改(本地)「建议收藏」mysql数据库忘记密码时如何修改(本地)

    2022年4月24日
    59
  • ora00904::标识符无效_ora-00911 无效字符

    ora00904::标识符无效_ora-00911 无效字符ORA:即Oracle报错。标识符无效:SQL语句中,这个字段名不在表中。解决方案:修改SQL语句中对应的字段或者修改表里面对应的列名。在这里我想说一下,因为我用的是hibernate内部封装好的save方法,咱也不能去改人家的底层方法是不是,所以我在这里用到一个注解(@Column)去指定SQL要执行的字段我第一次用的时候放在了这里↑但是没什么效果,然后我就把这个注解(@Column)放到getset方法上,问题就解决了。我的问题已经解决,也希望能帮到大家。…

    2025年8月3日
    1
  • bfs官网_山谷和山脉

    bfs官网_山谷和山脉FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷。为了能够对旅程有一个安排,他想知道山峰和山谷的数量。给定一个地图,为FGD想要旅行的区域,地图被分为 n×n 的网格,每个格子 (i,j) 的高度 w(i,j) 是给定的。若两个格子有公共顶点,那么它们就是相邻的格子,如与 (i,j) 相邻的格子有(i−1,j−1),(i−1,j),(i−1,j+1),(i,j−1),(i,j+1),(i+1,j−1),(i+1,j),(i+1,j+1)。我们定义一个格子的集合 S 为山峰(山谷)当且仅当:

    2022年8月9日
    6
  • Laravel根据Ip获取国家,城市信息

    Laravel根据Ip获取国家,城市信息

    2021年10月23日
    380

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号