当前位置: 首页 > news >正文

网站建设 牛商网技术提供国内最新新闻

网站建设 牛商网技术提供,国内最新新闻,外贸网站的推广方法,asp网站耗资源这篇文章将讨论如何确定一个变量是否代表 JavaScript 中的有效数字。 1.JS中的test是原来是JS中检测字符串中是否存在的一种模式&#xff0c;JS输入值是否为判断正整数代码&#xff1a; <script type”text/javascript”> function test() { var num document.getElem…

这篇文章将讨论如何确定一个变量是否代表 JavaScript 中的有效数字。

1.JS中的test是原来是JS中检测字符串中是否存在的一种模式,JS输入值是否为判断正整数代码:

<script type=”text/javascript”> function test() { var num = document.getElementById(“num”).value; if (num==”") { alert(‘请输入内容’); return false; } if (!(/(^[1-9]\d*$)/.test(num))) { alert(‘输入的不是正整数’); return false; }else { alert(‘输入的是正整数’); } } 
</script> <html> 
<body> 
<input type=”text” id=”num” /> 
<input type=”button” value=”测试” οnclick=”return test()” /> 
</body> 
</html> 

扩展:

附判断数字、浮点的正则表达: 
”^\\d+$” //非负整数(正整数 + 0)
“^[0-9]*[1-9][0-9]*$” //正整数
“^((-\\d+)|(0+))$” //非正整数(负整数 + 0)
“^-[0-9]*[1-9][0-9]*$” //负整数
“^-?\\d+$” //整数
“^\\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+(\\.\\d+)?)|(0+(\\.0+)?))$” //非正浮点数(负浮点数 + 0)
“^(-?\\d+)(\\.\\d+)?$” //浮点数


2.使用 jQuery

使用 jQuery 库,您可以使用 $.isNumeric() 方法,它确定传递的值是否代表一个有效的数值。如果值是 number 或 string 类型并且可以强制转换为有限数,则返回 true。

const { JSDOM } = require("jsdom");
const { window } = new JSDOM();
var $ = require("jquery")(window);const isNumber = n => $.isNumeric(n);isNumber(1);                // true
isNumber(0);                // true
isNumber(-1);               // trueisNumber(new Number(1));    // trueisNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // trueisNumber('1');              // true
isNumber('string');         // falseisNumber(NaN);              // false
isNumber(Infinity);         // false
isNumber(-Infinity);        // falseisNumber(true);             // false
isNumber(undefined)         // false
isNumber([1]);              // false

3. 使用 typeof 操作符

在纯 JavaScript 中,您可以使用 typeof 运算符,它返回一个指示操作数类型的字符串。您可以将其与严格的相等运算符一起使用,以检查原始数值。此外,要检查 Number 对象也是如此,您可以使用 instanceof 运算符,如下

const isNumber = n => (typeof(n) === 'number' || n instanceof Number);isNumber(new Number(1));    // true
isNumber(0);                // true
isNumber(-1);               // trueisNumber(new Number(1));    // trueisNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // trueisNumber('1');              // false
isNumber('string');         // falseisNumber(NaN);              // true
isNumber(Infinity);         // true
isNumber(-Infinity);        // trueisNumber(true);             // false
isNumber(undefined);        // false
isNumber([1]);              // false

上述解决方案返回 true +Infinity-Infinity, 和 NaN (不是数字)。此外,它不适用于可以强制转换为有限数字的字符串。要处理此问题,请添加一些附加条件 isFinite() 和 isNaN() 方法。

const isNumber = n => (typeof(n) === 'number' || n instanceof Number ||(typeof(n) === 'string' && !isNaN(n))) &&isFinite(n);isNumber(1);                // true
isNumber(0);                // true
isNumber(-1);               // trueisNumber(new Number(1));    // trueisNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // trueisNumber('1');              // true
isNumber('string');         // falseisNumber(NaN);              // false
isNumber(Infinity);         // false
isNumber(-Infinity);        // falseisNumber(true);             // false
isNumber(undefined);        // false
isNumber([1]);              // false

4. 使用一元加

最后,您可以检查数值 一元加号 (+) 运算符,如下图:

const isNumber = n => (n === +n);isNumber(1);                // true
isNumber(0);                // true
isNumber(-1);               // trueisNumber(new Number(1));    // falseisNumber(1.0);              // true
isNumber(1.1);              // true
isNumber(Math.PI);          // trueisNumber('1');              // false
isNumber('string');         // falseisNumber(NaN);              // false
isNumber(Infinity);         // true
isNumber(-Infinity);        // trueisNumber(true);             // false
isNumber(undefined);        // false
isNumber([1]);              // false

请注意,这不适用于 Number 反对,并考虑 +Infinity 和 -Infinity 作为数字。此外,它不处理可以强制转换为有限数字的字符串。这些可以以与之前的解决方案相同的方式处理。

5.使用isNaN()函数

isNaN()的缺点就在于 null、空格以及空串会被按照0来处理

NaN: Not a Number

/**
*判断是否是数字
*
**/
function isRealNum(val){// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除// if(val === "" || val ==null){// return false;//}
//或者 直接判断  前提是要将值转为number类型if(typeof val !== 'number'){return false;}else{if(!isNaN(val)){return true;}else{return false;}}}

6.使用正则表达式 

/**
* 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true
**/
function isNumber(val){var regPos = /^\d+(\.\d+)?$/; //非负浮点数var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数if(regPos.test(val) || regNeg.test(val)){return true;}else{return false;}}/**
* 校验正负正数就返回true
**/
function isIntNum(val){var regPos = / ^\d+$/; // 非负整数var regNeg = /^\-[1-9][0-9]*$/; // 负整数if(regPos.test(val) || regNeg.test(val)){return true;}else{return false;}
}

http://www.yidumall.com/news/109841.html

相关文章:

  • 做网站v1认证是什么意思什么是关键词搜索
  • 一个网站多个域名备案上海百度竞价点击软件
  • 做web网站挣钱么上海优化公司排行榜
  • 广州模板建站多少钱营销策略ppt模板
  • wordpress 做公司网站郑州做网络营销渠道
  • 网站建设培训济南seo网站优化
  • 淘宝官网首页官网临沂网站建设优化
  • 有哪些可以做策划方案的网站上海全网营销推广
  • 手机触屏版网站深圳网络营销推广招聘网
  • 益阳网站设计公司网址搜索引擎
  • 网站高端建设公司想做网络推广贵不
  • 广东建设信息网行业版宁波seo服务推广
  • 重庆公司有哪些重庆放心seo整站优化
  • 做文字云的网站搜索引擎的优化方法
  • tag() wordpressseo发外链工具
  • 做二手的网站都有哪些微博营销的特点
  • 家谱网站怎么做公众号开发
  • 网站建设怎么入账太原百度快速优化排名
  • 聚名网怎么提现北京优化靠谱的公司
  • 宁波seo超级外链工具seo主要优化
  • 高端网站开发设计互联网营销工具
  • 顺德网站建设教程吉安seo招聘
  • 凡科建站官网电脑版怎样注册一个自己的平台
  • 网站如何报备佛山百度关键词seo外包
  • 网站定制设计服务需要使用的技术网站推广的作用在哪里
  • 网站建设黄页湖南seo优化价格
  • 政府网站建设三年规划中国域名注册官网
  • 工控网做网站维护吗网络营销的优势和劣势
  • 大学生网站开发接单站长工具的使用seo综合查询排名
  • 做问卷的网站有哪些引流app推广软件