【问题标题】:Regular expression to not allow 2/3/4 consecutive zeros in string正则表达式不允许字符串中有 2/3/4 个连续的零
【发布时间】:2015-06-30 05:21:09
【问题描述】:

我想验证我的文本字段:不想在我的文本框中允许以下条目:

100123456- 2 个重复零,最大长度为 9

120005689- 3 个重复零最大长度 9

100005689- 4 个重复零最大长度 9

我试过下面的正则表达式:

/^(?!.*(.)\1)(^[1-9][0-9]{8}$)/

它有效,但它也不允许重复其他数字。 eg: 114564568- 因为 1 是重复的

我只想要 Zeros。如果有连续的零则显示错误。

请帮忙。

提前致谢

【问题讨论】:

    标签: javascript c# jquery asp.net regex


    【解决方案1】:

    您可以使用以下正则表达式来禁止 2 个连续的 0s:

    ^(?!.*00)([1-9][0-9]{8})$
    

    或其他版本:

    ^(?!.*0{2})([1-9][0-9]{8})$
    

    任何以0 以外的数字开头且没有00 的9 位数字都将通过。实际上,如果我们不允许 2 个连续的零,我们将不会同时允许 3 个和 4 个连续的零。

    demo

    【讨论】:

    • 不客气。您的初始正则表达式比您需要的更复杂,所以我只是将其降级 :) 此外,没有必要在前瞻之后重复 ^ 锚,因为我们仍处于字符串的开头时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    相关资源
    最近更新 更多