这只是检查一个字符串中的数字..当我希望给我一个假的时候,它返回true。 我怎么能解决这个问题以及为什么它会让我回归真实?
<script type="text/javascript">
function test()
var str2 ="s123s";
var reg3 =/\d/;
alert(reg3.test(str2));
}
</script>
答案 0 :(得分:2)
如果字符串中有一个数字,你的正则表达式正在测试 - 如果字符串只包含数字,则不是。
如果你要检查一下
你应该将你的正则表达式改为:
/^\d+$/
答案 1 :(得分:2)
您的正则表达式\d
会检查是否有数字。使用\D
检查是否存在非数字并返回该测试的否定。
答案 2 :(得分:1)
正则表达式是“包含数字”,因此它应该提醒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 */
答案 3 :(得分:1)
实际上,如果你想让它只包含数字,那么这是正确的:
/^\d+$/
以下内容也允许空字符串:
/^\d*$/