法一(1):
function _search(string) {
return Array.from(string).some(el => isNaN(el) === false)
}
- Array.from —— 对一个类似数组或可迭代对象创建一个新的浅拷贝的数组实例
- Array.some —— 测试数组中是否有元素通过了被提供的函数测试,返回boolean型值
- isNaN —— ①是否Number类型 ②尝试转换为数值 ③判断是否NaN。非数值-true;数值-false
【不推荐isNaN,因为空字符串' '会在②转换为0,返回false。不知道为什么这测试居然能通过】
法一(2):
function _search(string) {
return Array.from(string).some(el => el > 0 && el < 9)
}
法二(1):
function _search(string) {
let regExp = new RegExp('\\d')
return regExp.test(string)
}
- RegExp.test —— 执行一个检索,看正则表达式与字符串是否匹配,返回boolean
法二(2):
function _search(string) {
// .*匹配任意个数的字符 {1,}至少1位匹配
let regExp = new RegExp('.*[0-9]{1,}.*')
return regExp.test(string)
}
法三:
function _search(string) {
return string.match('\\d') ? true : false
}
- String.match(regexp) —— 返回字符串匹配正则表达式的结结果