JS判断是否为数字

isNaN函数方式

// NaN的意思:not a number
function isRealNum(val){
    // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除
    if(val === "" || val == null){
        return false;
    }
    if(!isNaN(val)){
        return true;
    }else{
        return false;
    }
}

// isNaN() 是一个全局方法,它的作用是检查一个值是否能被 Number() 成功转换为数字。
// 当一个字符串不能被 Number、parseInt 或 parseFloat 成功转换时,就返回 NaN,表示该字符串无法被识别为数字类型,这是一个异常状态,并不是一个确切的值。
// NaN不等于NaN。

Number('12abc'); // NaN
'123'; // 123
'123.78'; // 123.78
'abc'; // NaN
Number([]); //0

parseInt('12ab3'); //12

//Number 转换的是整个值,而不是部分值;parseInt 和 parseFloat 只转化第一个无效字符之前的字符串。

NaN!==NaN; // true

isNaN('a'); //true
isNaN('1'); //false
isNaN('12a'); //true

parseFloat方法

function isNotANumber(inputData) {
  //isNaN(inputData)不能判断空串或一个空格
  //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
  if (parseFloat(inputData).toString() == “NaN”) {
    //alert(“请输入数字……”);
    return false;
  } else {
    return true;
  }
}

parseFloat与parseInt处理字符串

console.log( parseInt("asd123")); //parseInt 值为字符串 如已字符串开头 返回NaN
console.log( parseInt("123asd")); //parseInt 值为字符串 如已数字开头 返回数字(123)
// parseFloat 与 parseInt 同理
console.log(parseInt("asd123")==NaN); //NaN和任何值都不相等 包括自己 返回 false
console.log(typeof(parseInt("asd123")); // NaN 类型为number 

原文地址:https://www.cnblogs.com/quxingzhou/p/12076922.html

时间: 2024-10-18 19:40:33

JS判断是否为数字的相关文章

JS判断是否为数字,是否为整数,是否为浮点数

1.JS判断是否为数字,是否为整数,是否为浮点数 正则表达式方法 function checkRate(input){     var re = /^[0-9]+.?[0-9]*$/;   //判断字符串是否为数字     //判断正整数 /^[1-9]+[0-9]*]*$/        if (!re.test(input.rate.value))    {        alert("请输入数字(例:0.02)");        input.rate.focus();     

js判断只能输入数字或小数点

JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')&qu

JS判断是否为数字,中文,小写、大写字母

/**  取得字符串的字节长度**/ 代码function strlen(str)   {      var i;      var len;            len = 0;      for (i=0;i<str.length;i++)      {          if (str.charCodeAt(i)>255) len+=2; else len++;      }      return len;   } /* * 判断是否为数字,是则返回true,否则返回false */

js判断类型为数字的方法实现总汇——原生js判断isNumber()

方法一[推荐]: 最容易想到的是用typeof来判断是否是number类型 ,但是如果为NaN会被认为也是number类型,因此我们需要使用isNaN来排除NaN的情况. function isNumber(obj) { return typeof obj === 'number' && !isNaN(obj) } 方法二: isNaN(obj)   等价于isFinite().Infinity在js表示数字的无穷大,判断是否可用做数字的最佳方法则是isFinite(),因为该方法会筛除掉

JS判断只能是数字和小数点

1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpas

JS 判断两个数字的大小

今天使用 Javascript 比较两个数字的大小,发现了 19 > 100 的现象,什么原因呢? 解决: var 定义的变量默认是字符串,比较两个字符串变量和比较两个数字的规则不同.所以应该先把字符串转化成数字,再去比较大小,如下代码: var counts = $("input[name='counts']").val(); var realCounts = $("input[name='realCounts']").val(); // 错误的比较方法 i

用JS判断两个数字的大小

js中的var定义的变量默认是字符串,如果单纯的比较字符串的话,会出现错误,需要先转化为int类型在做比较. [备注:110和18在你写的程序中是18大的,因为 这两个数都是字符串,而1和1相等之后比较1和8,当然是8大,所以18大.你在比较之前转换成INT型在比 . if(parseInt(num2)>parseInt(num1))  ] 实例: <script>     function   check()     {     var   num1=document.form1.nu

JS判断是否是数字

function isNumber(value) { var patrn = /^[0-9]*$/; if (patrn.exec(value) == null || value == "") { return false } else { return true } }

JS判断数字、中文、小数位数

1.JS判断数字 ①var value=$("#test").val(); if(!isNaN(value)){ alert("是数字"); }else{ alert("不是数字"); } ②function checkRate(input) { var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/ var nubmer = document.getElement