\d{12}|\d{13}|\d{16}|\d{20}
这样不是表示输入 12或13或16或20位数字都可以么
为什么我输入后,超过12位就开始报错了,只能输入12位,13,16或20位都不符合
我用的VS2005 中的RegularExpressionValidator 控件里填的这个 正则
-----------------------------------------------------------------------
没有这样的写法吧!!!他本身就支持\d
-----------------------------------------------------
换成[0-9]也支持这样的写法.就是|这个 就无法判断是or....读到13就出错.贴一个VS2005里的中国地区电话号码的例子给你启示一下
(\(\d{3}\)|\d{3}-)?\d{8}
------------------------------------------------
我也想不出有什么问题存在.兄弟你加我好友一下.我加你Q远程协助给你看
2008-03-21 05:59
提问者采纳
你这样写永远只会匹配12的,因为到12后它就匹配了,不会继续往前走了。
改成
^\d{12}$|^\d{13}$|^\d{16}$|^\d{20}$
-
提问者评价
-
非常感谢哦.可以了!!呵呵!!!!
-
\d{12}|\d{13}|\d{16}|\d{20}
这样不是表示输入 12或13或16或20位数字都可以么
为什么我输入后,超过12位就开始报错了,只能输入12位,13,16或20位都不符合
我用的VS2005 中的RegularExpressionValidator 控件里填的这个 正则
-----------------------------------------------------------------------
没有这样的写法吧!!!他本身就支持\d
-----------------------------------------------------
换成[0-9]也支持这样的写法.就是|这个 就无法判断是or....读到13就出错.贴一个VS2005里的中国地区电话号码的例子给你启示一下
(\(\d{3}\)|\d{3}-)?\d{8}
------------------------------------------------
我也想不出有什么问题存在.兄弟你加我好友一下.我加你Q远程协助给你看
2008-03-21 05:59
提问者采纳
你这样写永远只会匹配12的,因为到12后它就匹配了,不会继续往前走了。
改成
^\d{12}$|^\d{13}$|^\d{16}$|^\d{20}$
-
提问者评价
-
非常感谢哦.可以了!!呵呵!!!!
-
本文探讨了在VS2005中使用正则表达式验证不同长度数字串的方法,解释了为何特定正则表达式仅匹配最短长度,并提供了解决方案。
414

被折叠的 条评论
为什么被折叠?



