使用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)
上一篇 2021年7月18日 下午12:00
下一篇 2021年7月18日 下午1:00


相关推荐

  • TCP-三次握手

    TCP-三次握手文章目录三次握手三次握手过程详解三次握手的状态变化面试题:四次挥手三次握手简单示意图:客户端–发送带有SYN标志的数据包–一次握手–服务端服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端客户端–发送带有带有ACK标志的数据包–三次握手–服务端SYN同步序列编号(SynchronizeSequenceNumbers):是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN

    2022年10月3日
    5
  • msiexec安装参数详解

    msiexec安装参数详解1 安装 i 表示安装 x 表示卸载 f 表示修复 l v 表示输出详细日志安装参数有 qn 无用户界面 qb 基本界面 qr 精简界面 qf 完整界面 默认值 q 设置 UI 级别 q qn 没有 UI qb 基本 UI qr 简化的 UI 在安装结束时显示一个模式对话框 qf 完整 UI 在安装结束时显示一个模式对话框 qn 没有 UI

    2025年8月12日
    9
  • 华为欧拉openEuler编译安装Redis

    华为欧拉openEuler编译安装Redis华为欧拉 openEuler 编译安装 Redis 升级系统 yum yupdate 安装依赖和常用工具 yum yinstallvimn toolswgetgcc 下载安装包 wgethttps download redis io redis stable tar gz 解压缩安装包 tar zxvfredis stable tar gz 进入解压目录后编译安装 cdredis stablemakePR usr local redis

    2026年3月18日
    2
  • 多线程thread与runnable的区别_handlerthread与thread的区别

    多线程thread与runnable的区别_handlerthread与thread的区别C#中多线程的线程加.IsBackground=true与不加有什么区别?按照MSDN上讲:“获取或设置一个值,该值指示某个线程是否为后台线程。”其实这个解释并不到位,至少应该解释一…

    2022年10月9日
    4
  • 朋友圈一键集赞_朋友圈秒赞怎么做到的

    朋友圈一键集赞_朋友圈秒赞怎么做到的哈喽,今天又来给大家伙推荐神器啦~相信各位都曾遇到或亲身参与过朋友圈集赞活动。比如说部分商家、公众号为了达到宣传和涨粉的需求,要求用户转发相关的活动文章、海报到朋友圈,集满一定数量的赞后,才会给予相应的优惠或福利。这种动辄几十,上百的集赞要求,对于平时连朋友圈都懒得发的社畜来说,难度系数直逼五颗星。其一是碍于面子不便集赞,二是实在没有那么多朋友来给自己点赞。图片可是,商家、公众号们赠送的活动福利实在是“太香了”!虽然没有威逼,但是在利诱之下,难免不心动。正所谓,有需求就有市场。用户存在集赞难的痛点,

    2025年9月20日
    8
  • ffmpeg从入门到精通 下载_从入门到精通nginx——Nginx的下载和环境安装

    ffmpeg从入门到精通 下载_从入门到精通nginx——Nginx的下载和环境安装Nginx的下载  nginx的官网:http://nginx.org/  百度云盘地址https://pan.baidu.com/s/1kjQST_x1Sf_thg3XDmqx6w密码:18sc将nginx上传至linux环境搭建安装C语言环境  因为nginx是C语言写的,而且是源码安装,安装前需安装C语言环境。安装依赖库  基本的Nginx功能依赖于一些基本的库,在安装Nginx之前需要提…

    2022年6月26日
    21

发表回复

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

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