求正则表达式,不以0开头,但可以是单个0,必须为数字位数不允许超过8个。

bhqt0910 2011-04-16 09:12:09
求正则表达式,不以0开头的多个数字,但可以是单个0,必须为数字,位数不允许超过10个。
分不多了,只能求各位无私奉献了。小弟第一次接触正则表达式。如果能稍微解释下更好
...全文
8366 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
bhqt0910 2011-04-16
  • 打赏
  • 举报
回复
(/[^\d]/g,"")这个表达式的返回值是什么啊
bhqt0910 2011-04-16
  • 打赏
  • 举报
回复
我发现我写的东西BUG越来越多了。
各位你们有没有试试看能不能输入汉字呢?
gdjlc 2011-04-16
  • 打赏
  • 举报
回复
楼主的意思应该是键盘只能输入上面这些要求的数字,不允许输入其它数字吧??


<html>
<head>
<title>js只能输入数字0;最多只能输入10个数字</title>
<script language="JavaScript" type="text/javascript">
function clearNoNum(event,obj){

//先把非数字的都替换掉
var v = obj.value;
obj.value = v.replace(/[^\d]/g,"");
//必须是单个0
if(v.substring(0,1) == "0" && v.length>1)
obj.value = 0;
//如果长度超过10,则截取
if(v.length > 10)
obj.value = v.substring(0,10);
}


</script>
</head>
<body>

<input id="input1" onKeyUp="clearNoNum(event,this)" />

</body>
</html>
swde125 2011-04-16
  • 打赏
  • 举报
回复
^(0|[1-9][0-9]*)$

然后
asp:TextBox ID="TextBox1" runat="server" MaxLength="10" asp:TextBox>


hch126163 2011-04-16
  • 打赏
  • 举报
回复
^(0|[1-9][0-9]\d{0,8})$

回头是岸 2011-04-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 strugglego 的回复:]
引用 9 楼 bhqt0910 的回复:
为什么要让一个学java的写asp.net呢?
为啥让程序员设计网站页面呢??
[/Quote]
程序员为什么要活着呢???
bhqt0910 2011-04-16
  • 打赏
  • 举报
回复
我重新说下要求,希望各位帮个忙。
在asp:textbox 只能输入不以0开头的多个数字,但可以是单个0,必须为数字,位数不允许超过10个
huangwenquan123 2011-04-16
  • 打赏
  • 举报
回复

//js验证?
var reg = /^(0|[1-9]\d{0,9})$/;
document.getElementById("TextBox1").onblur=function(){
alert(reg.test(this.value));
}
strugglego 2011-04-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bhqt0910 的回复:]
为什么要让一个学java的写asp.net呢?
[/Quote]为啥让程序员设计网站页面呢??
gdjlc 2011-04-16
  • 打赏
  • 举报
回复
搞错了,我还以为是多个0开头不行,一个0开头就行...
bhqt0910 2011-04-16
  • 打赏
  • 举报
回复
为什么要让一个学java的写asp.net呢?
gdjlc 2011-04-16
  • 打赏
  • 举报
回复
符合条件:

1234567890
0123456789





不符合条件:

12345678900
0012345678
pt1314917 2011-04-16
  • 打赏
  • 举报
回复

^(0|[1-9]\d{0,7})$
bhqt0910 2011-04-16
  • 打赏
  • 举报
回复
对不起,各位,我错了。上面那个不是正则
gdjlc 2011-04-16
  • 打赏
  • 举报
回复

^([1-9]{1}\d{1,9}|0[1-9]{1}\d{0,8})$
bhqt0910 2011-04-16
  • 打赏
  • 举报
回复
很抱歉,楼上,经过验证你这个好像不行。
这是我在网上搜的,但是这个只能保证是数字,别的要求无法满足
onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"
huangwenquan123 2011-04-16
  • 打赏
  • 举报
回复
Regex reg = new Regex(@"^(0|[1-9]\d{0,9})$");
Response.Write(reg.Match(TextBox1.Text).Success);
种草德鲁伊 2011-04-16
  • 打赏
  • 举报
回复
错了,应该是 ^(0|[1-9]\d{0,9})$
种草德鲁伊 2011-04-16
  • 打赏
  • 举报
回复
^(0|[1-9]\d{1,9})$

62,269

社区成员

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

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

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

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