判断字符串是否为数字
【主题思想】实现方式、isNaN() VS 正则
【判断字符串是否为数字】请给字符串扩展一个 isNumber 方法,判断字符串是否是数值字符串,例如PS:以上题目来着内部JS小测
a'.isNumber() // false
'0'.isNumber() // true
'1e10000'.isNumber() // true
'12px'.isNumber() // false
'3.141592653'.isNumber() // true
'NaN'.isNumber() // false
' '.isNumber() // false
正则
var isNumber = function(str) {
return /^[\d|\.]*$/g.test(str);
}
// 'a'.isNumber() // false
// '0'.isNumber() // true
// '1e10000'.isNumber() // fasle
// '12px'.isNumber() // false
// '3.141592653'.isNumber() // true
// 'NaN'.isNumber() // false
// ''.isNumber() // false
// '0xae'.isNumber() // false
isNaN()
var isNumber = function(str){
return !isNaN(str);
}
// 'a'.isNumber() // false
// '0'.isNumber() // true
// '1e10000'.isNumber() // true
// '12px'.isNumber() // false
// '3.141592653'.isNumber() // true
// 'NaN'.isNumber() // false
// ''.isNumber() // false
// '0xae'.isNumber() // true
正则 VS isNaN() isNaN()?
对于八进制or科学计数法(例如
0xae
、1e10000
),isNaN()方法的判断依旧是符合预期的,而正则会有误isNaN()
会判断某个参数是不是NaN,如果传参是NaN,返回true,否则返回false,在这个过程中会出强制转换。推荐阅读
- 一起来学习C语言的字符串转换函数
- 字符串拼接成段落,换行符(\n)如何只执行n-1次
- 你是否也是一道风景()
- C语言解方程的根和判断是否是闰年
- C语言的版本比较
- 对今年以来股市的看法及后期判断
- 那一年我是否经历过高考
- 塔罗占卜(近期是否会遇到避不开的劫数(准爆了))
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- 我们是否会娱乐至死()