(内置)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

皈依舞

你可以去雷吉普街: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}

慕森卡

如果您只是想检查一个字符串是否是一个整数(没有小数位),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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript