判断一个字符串是否为数字,可以使用多种方法,下面是两种常用的方法。
使用正则表达式可以判断一个字符串是否为数字,通过使用 test() 函数匹配字符串,检测该字符串是否符合数字格式。
if (/^[0-9]+$/.test(str)) {
console.log('该字符串为数字');
} else {
console.log('该字符串不是数字');
}
在上述代码中,使用正则表达式 ^[0-9]+$
匹配字符串,该正则表达式的含义为:判断字符串是否为以数字字符为开头和结尾的,数字字符的个数 > 0 的字符串,字符串中若有非数字字符,则判断不为数字。
下面是一个示例:
let str1 = '12345';
let str2 = 'abc123';
let str3 = '123xyz';
if (/^[0-9]+$/.test(str1)) {
console.log('str1 是数字');
} else {
console.log('str1 不是数字');
}
if (/^[0-9]+$/.test(str2)) {
console.log('str2 是数字');
} else {
console.log('str2 不是数字');
}
if (/^[0-9]+$/.test(str3)) {
console.log('str3 是数字');
} else {
console.log('str3 不是数字');
}
运行结果:
str1 是数字
str2 不是数字
str3 不是数字
JavaScript 中还提供了 isNaN() 函数,可以判断一个字符串是否为 NaN(Not a Number)类型,因此可以通过这个函数判断字符串是否为数字,需要注意的是 NaN 是数字类型,但是它代表的是不是一个数字的特殊值。
if(isNaN(str)) {
console.log('该字符串不是数字');
} else {
console.log('该字符串是数字');
}
下面是一个示例:
let str1 = '12345';
let str2 = 'abc123';
let str3 = '123xyz';
if(isNaN(str1)) {
console.log('str1 不是数字');
} else {
console.log('str1 是数字');
}
if(isNaN(str2)) {
console.log('str2 不是数字');
} else {
console.log('str2 是数字');
}
if(isNaN(str3)) {
console.log('str3 不是数字');
} else {
console.log('str3 是数字');
}
运行结果:
str1 是数字
str2 不是数字
str3 不是数字
本文链接:http://task.lmcjl.com/news/10051.html