Fra*_*k B 6 javascript regex validation integer expression
function validInteger(theNumber){
var anyNonDigits = new RegExp('\D','g');
if(parseInt(theNumber)&&!anyNonDigits.test(theNumber)){
return true;
}else{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
以上是我为验证一些输入而编写的函数.我想要所有正整数.我面临的问题是使用RegExp对象.这似乎应该是超级简单的,但由于某种原因,它不起作用.
例如,如果我通过'f5',我会得到真的,但如果我通过'5f',我就会变错.传递负数时我也遇到了问题.即使我在将变量传递给RegExp之前对变量进行了字符串化,-3也不会被捕获.我可以通过&&parseInt(theNumber)>0在if语句中添加' ' 来解决这个问题,但我觉得RegExp也应该抓住它.提前致谢!
gdo*_*ica 11
只是:
function validInteger(theNumber){
return theNumber.match(/^\d+$/) && parseInt(theNumber) > 0;
}
Run Code Online (Sandbox Code Playgroud)
或者更简单,regex只有@Eric的建议:
return /^[0-9]\d*$/.test(theNumber);
Run Code Online (Sandbox Code Playgroud)
更新:
一个优秀的备忘单.该链接在5年后死亡,对不起.