我想检查字符串是否只包含数字。我用了这个:
var isANumber = isNaN(theValue) === false;
if (isANumber){
..
}
但意识到它也允许+和-。基本上,我想确保输入只包含数字,没有其他字符。由于+100和-5都是数字,isNaN()不是正确的方法。 也许regexp就是我所需要的?任何建议吗?
我想检查字符串是否只包含数字。我用了这个:
var isANumber = isNaN(theValue) === false;
if (isANumber){
..
}
但意识到它也允许+和-。基本上,我想确保输入只包含数字,没有其他字符。由于+100和-5都是数字,isNaN()不是正确的方法。 也许regexp就是我所需要的?任何建议吗?
当前回答
function isNumeric(x) {
return parseFloat(x).toString() === x.toString();
}
虽然这将返回false字符串的前导或末尾为0。
其他回答
如果你使用jQuery:
$.isNumeric('1234'); // true
$.isNumeric('1ab4'); // false
这就是你想要的
function isANumber(str){
return !/\D/.test(str);
}
c="123".match(/\D/) == null #true
c="a12".match(/\D/) == null #false
如果字符串只包含数字,它将返回null
这里有一个不使用正则表达式的解决方案
const isdigit=(value)=>{
const val=Number(value)?true:false
console.log(val);
return val
}
isdigit("10")//true
isdigit("any String")//false
string.match(/^[0-9]+$/) != null;