JavaScript验证输入的string的内容是不是数值
来源:互联网 发布:山本宽来中国 知乎 编辑:程序博客网 时间:2024/06/05 10:04
JavaScript验证输入的string的内容是不是数值
- JavaScript验证输入的string的内容是不是数值
- JavaScript里面对Number的支持
- 考虑直接使用第三方库
- 使用Regrex验证
JavaScript里面对Number的支持
Number是JavaScript的一个内置的对象,有很多method可以直接使用。在使用JavaScript验证一个值是不是数值的问题中,我们可能用到的两个method是:
Number.parseInt()
Number.parseFloat()
以下是这两个method的几个简单的用法:
// example from https://www.bennadel.com/blog/2012-exploring-javascript-s-parseint-and-parsefloat-functions.htm// parseIntNumber.parseInt( "123" ); //123Number.parseInt( "123.456" ); //123Number.parseInt( "+123.456" ); //123Number.parseInt( "-123.456" ); //-123Number.parseInt( "123ABC" ); //123Number.parseInt( "ABC" ); //NaNNumber.parseInt( "5px 5px" ); //5Number.parseInt( "(123)" ); //NaNNumber.parseInt( "0xF" ); //15Number.parseInt( "012" ); //10Number.parseInt( " 123 " ); //123// parseFloatNumber.parseFloat( "123" ); //123Number.parseFloat( "123.456" ); //123.456Number.parseFloat( "+123.456" ); //123.456Number.parseFloat( "-123.456" ); //-123.456Number.parseFloat( "123ABC" ); //123Number.parseFloat( "ABC" ); //NaNNumber.parseFloat( "5px 5px" ); //5Number.parseFloat( "(123)" ); //NaNNumber.parseFloat( "0xF" ); //0Number.parseFloat( "012" ); //12Number.parseFloat( " 123 " ); //123
从上面的例子可以看到,Number.parseInt()和Number.parseFloat()虽然可以把string转化成对就的数值,但是这个转化过程不是exactly的转化,所以如果我们在验证中使用会造成很大的迷惑。
考虑直接使用第三方库
函数式编程的流行,促使了很多优秀的第三方工具库的出现,这些大大地减少了我们在开发中的工作量,也一定程度上提高了我们代码的质量。在JavaScript中,我列举两个:
- Lodash
- Ramda
在Ramda中只有R.is
来判断类型,没有想要的函数。
在lodash中有_.parseInt
,使用与Number.parseInt基本相同。其中的_.isNumber
也不能满足需求。
使用Regrex验证
最终,还是使用了Regrex解决了业务需求。以下是最后的Regrex:
/^0$|^[+-]?[1-9]\d*(\.\d+)?$/
/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("2"); //true/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("+2"); //true/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("-2"); //true/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("2.1"); //true/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("+2.1"); //true/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("-2.1"); //true/^0$|^[+-]?[1-9]\d*(\.\d+)?$/.test("abc"); //false
阅读全文
0 0
- JavaScript验证输入的string的内容是不是数值
- javascript判断输入的值是不是正整数
- JavaScript判断输入的数是不是素数
- 验证输入的JavaScript代码
- PeopleEditor允许客户端输入的同时验证输入的内容
- 关于数据输入之先输入int数值在输入string的一些小问题
- 关于数据输入之先输入int数值在输入string的一些小问题
- 使文本框中只能输入数值的javascript
- 判断输入的是不是汉字
- 判断输入的是不是数字
- Javascript输入提示相匹配的内容
- javascript判断输入的内容是否合法
- 收藏几个Javascript做数值验证用的正则表达式
- javascript常用的一些判断输入验证
- javascript常用的一些判断输入验证
- javascript常用的一些判断输入验证
- Javascript 验证输入表单的正确性
- 用JavaScript验证客户的数字输入
- 学习日记:java全局变量的定义和使用
- ASM上配置GoldenGate
- git错误和一些常用命令
- 设置显示图片的类
- cordova add android platform 的 cordova-android 版本选择
- JavaScript验证输入的string的内容是不是数值
- ScrollPic.js—简单易用的图片左右滚动插件
- 快逸报表数据库密码加密解决方案
- centos 6.5 nginx服务器配置
- 图像的四种类型及简述
- javac编译原理
- java 中 12.0f-11.9f=0.10000038,"减不尽"为什么?
- leetcode 96|95. Unique Binary Search Trees 1|2
- tablayout动态添加fragment