猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
(内置)JavaScript检查字符串是否为有效数字的方法
(内置)JavaScript检查字符串是否为有效数字的方法
我希望在与旧的VB6相同的概念空间中有一些东西
IsNumeric()
功能?
慕虎7371278
浏览 812
回答 3
3回答
临摹微笑
若要检查变量(包括字符串)是否为数字,请检查它是否不是数字:不管变量内容是字符串还是数字,这都是可行的。isNaN(num) // returns true if the variable does NOT contain a valid number实例isNaN(123) // falseisNaN('123') // falseisNaN('1e10000') // false (This translates to Infinity, which is a number)isNaN('foo') // trueisNaN('10px') // true当然,如果你需要的话,你可以否定这一点。例如,要实现IsNumeric你给的例子:function isNumeric(num){ return !isNaN(num)}若要将包含数字的字符串转换为数字,请执行以下操作:只有在字符串有效的情况下才能工作。只包含数字字符,否则它将返回。NaN.+num // returns the numeric value of the string, or NaN // if the string isn't purely numeric characters实例+'12' // 12+'12.' // 12+'12..' // Nan+'.12' // 0.12+'..12' // Nan+'foo' // NaN+'12px' // NaN松散地将字符串转换为数字用于将“12 px”转换为12,例如:parseInt(num) // extracts a numeric value from the // start of the string, or NaN.实例parseInt('12') // 12parseInt('aaa') // NaNparseInt('12px') // 12parseInt('foo2') // NaN These last two may be differentparseInt('12a5') // 12 from what you expected to see. 浮子记住,不像+num, parseInt(顾名思义)将通过切分小数点后的所有内容将浮点数转换为整数(如果要使用parseInt() 因为这种行为,你最好还是用另一种方法代替):+'12.345' // 12.345parseInt(12.345) // 12parseInt('12.345') // 12空字符串空字符串可能有点违背直觉。+num将空字符串转换为零,并且isNaN()假设情况相同:+'' // 0isNaN('') // false但parseInt()不同意:parseInt('') // NaN
0
0
0
皈依舞
你可以去雷吉普街:var num = "987238";if(num.match(/^-{0,1}\d+$/)){ //valid integer (positive or negative)}else if(num.match(/^\d+\.\d+$/)){ //valid float}else{ //not valid number}
0
0
0
慕森卡
如果您只是想检查一个字符串是否是一个整数(没有小数位),regex是一个很好的方法。其他方法,如isNaN对这么简单的事情来说太复杂了。function isNumeric(value) { return /^-{0,1}\d+$/.test(value);}console.log(isNumeric('abcd')); // falseconsole.log(isNumeric('123a')); // falseconsole.log(isNumeric('1')); // trueconsole.log(isNumeric('1234567890')); // trueconsole.log(isNumeric('-23')); // trueconsole.log(isNumeric(1234)); // trueconsole.log(isNumeric('123.4')); // falseconsole.log(isNumeric('')); // falseconsole.log(isNumeric(undefined)); // falseconsole.log(isNumeric(null)); // false只允许阳性整数使用如下:function isNumeric(value) { return /^\d+$/.test(value);}console.log(isNumeric('123')); // trueconsole.log(isNumeric('-23')); // false
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续