如何使用regex验证器禁用验证在0之后不能键入0

时间:2012-02-06 09:24:36

标签: asp.net regex

我有这样的验证号码的场景:

000...

这是不允许的,因为首先输入了0

首先,如何在0之后禁用输入的0,但对于此01000等,这是正常的。

2 个答案:

答案 0 :(得分:4)

所以你想允许一个前导零而不是更多?

^(?!00)\d+$

匹配任何不以00开头的整数。它确实允许一个0(但它也允许一个不包含任何0的数字。)

如果您想允许除00000000等之外的任何号码,请使用

^(?!0+$)\d+$

如果您想在开始时要求恰好一个0(这对于许多语言环境中的电话区号有意义),请使用

^0(?!0)\d+$

答案 1 :(得分:0)

^0[1-9][0-9]*$

这允许数字

  1. 必须以'0'开头
  2. 必须包含另一个排除'0'
  3. 的数字
  4. 仅包含第1和第2个之后的数字
  5. 此外,如果你想修剪电话号码前缀(比如在意大利,它们从2到4位不等,删除最后一个*并替换为{0-2}(这在java中可以肯定,我不知道它是否仍然适用于其他格式,但肯定会有类似的东西)

    ^0[1-9][0-9]{0-2}$