正则表达式验证数字的位数的问题?

usun82 2010-11-06 11:36:33
用var Exp = /^[1-9]\d{9}$/;可以验证文本框里面输入的是不是10位数字,
为什么我改成var Exp = /^[1-9]\d{19}$/;不可以验证文本框中输入的是20位数字呢?
谢谢!
...全文
1195 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-11-08
  • 打赏
  • 举报
回复
^(?!0\d)\d{20}$
usun82 2010-11-08
  • 打赏
  • 举报
回复
明白了,我测试的时候输入的第一个数是0,所以通不过。把var Exp = /^[1-9]\d{19}$/;
改成var Exp = /^[0-9]\d{19}$/;
就OK了,多谢各位啊!
usun82 2010-11-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lxcnn 的回复:]
代码验证没有问题,你可以把下面的代码存个html试下
排查下是否有其它代码限制

其实这里的判空没有必要,正则可以同时验证是否为空的
只是在正则验证控件中不能判空,在js代码中是可以的


HTML code
<input type="text" id="txtBeginNo" onblur="Query();"><br />
<script type="text/javasc……
[/Quote]
郁闷啊,我把这个保存了,测试也没有通过啊。我明明输入了20个数字,但当文本框失去焦点的时候,它还是提示我“请输入20个数字”。我要的是如果我输入的是20个数字它就别提示了,如果输入的不等于20个它才提示。
兔子-顾问 2010-11-06
  • 打赏
  • 举报
回复
楼主是不是测试的空字符串?那不是正则能验证的。
-过客- 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 usun82 的回复:]
还有没有别的写法了,我试了确实不行,也没有别的地方限制了
[/Quote]

贴你的代码
usun82 2010-11-06
  • 打赏
  • 举报
回复
还有没有别的写法了,我试了确实不行,也没有别的地方限制了
xrongzhen 2010-11-06
  • 打赏
  • 举报
回复
可以 是不是别的地方修改了
-过客- 2010-11-06
  • 打赏
  • 举报
回复
可以的,看下你的代码里是否做了其它限制
java447060786 2010-11-06
  • 打赏
  • 举报
回复
应该可以吧
-过客- 2010-11-06
  • 打赏
  • 举报
回复
代码验证没有问题,你可以把下面的代码存个html试下
排查下是否有其它代码限制

其实这里的判空没有必要,正则可以同时验证是否为空的
只是在正则验证控件中不能判空,在js代码中是可以的

<input type="text" id="txtBeginNo" onblur="Query();"><br /> 
<script type="text/javascript">
function Query() {
var Exp = /^[1-9]\d{19}$/;
if (document.getElementById("txtBeginNo").value != '') {
if (!Exp.test(document.getElementById("txtBeginNo").value)) {
alert("请输入20位数字");
return false;
}
}
}
</script>
usun82 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lxcnn 的回复:]
引用 4 楼 usun82 的回复:
还有没有别的写法了,我试了确实不行,也没有别的地方限制了


贴你的代码
[/Quote]


function Query() {
var Exp = /^[1-9]\d{19}$/;
if (document.getElementById("txtBeginNo").value != '') {
if (!Exp.test(document.getElementById("txtBeginNo").value)) {
alert("请输入20位数字");
return false;
}
}
}

我没有验证空字符串,是验证是否为20位数字。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧