这是为了只检查字符串中的数字。当我希望返回一个false时,它返回true。我如何解决这个问题,为什么它返回给我一个true?
<script type="text/javascript">
function test()
var str2 ="s123s";
var reg3 =/\d/;
alert(reg3.test(str2));
}
</script>发布于 2011-07-19 13:48:17
如果字符串中有一个数字,那么正则表达式将测试 --如果字符串中只包含数字,则不会。
如果要检查一个字符串,
您应该将正则表达式更改为如下所示:
/^\d+$/发布于 2011-07-19 13:48:24
您的正则表达式\d会检查是否有数字。使用\D检查是否存在非数字,并返回该测试的否定结果。
发布于 2011-07-19 13:48:03
正则表达式是“包含一个数字”,因此它应该向true发出警报。
如果你想要“只包含数字”,那么你会想:
/^\d*$/ /* Start of string, zero or more numbers, end of string */或者:
!/\D/.test(str2) /* Test for presence of non-numbers, then NOT the result */https://stackoverflow.com/questions/6742758
复制相似问题