【问题标题】:How to use RegularExpressionValidator on a TextBox for the first number?如何在 TextBox 上使用 RegularExpressionValidator 作为第一个数字?
【发布时间】:2020-05-05 19:24:52
【问题描述】:

我有一个文本框,我必须在其中输入我的身份证号码。 关于它的事情是我使用RegularExpressionValidator来获得第一个数字1或2。最多13个数字。例如:134563964294 或 2492048639193,正如我所说的第一个数字是 1 或 2,总共必须是 13 个数字。

我尝试了类似:[1-2]/d{13} 但总共只有 13 个数字的部分有效。我不知道如何使第一个数字 1 或 2 。

我在互联网上或这里的 stackoverflow 上找不到任何有用的东西。

你们能帮我解决这个正则表达式问题吗?

另外,我使用 Microsoft Web Developer 2010 express,如果这很重要的话。

【问题讨论】:

  • 您的第一个号码不匹配,因为它由 12 位数字组成。你可以使用^[12][0-9]{12}$regex101.com/r/tp4Whe/1

标签: asp.net regex validation


【解决方案1】:
^[1-2][0-9]{12,12}$

^ 在数字的开头断言位置

[1-2] 强制一位数为 1 或 2

[0-9]{12,12} 表示上述第一个数字之后的最小/最大 12 位数字

$ 在行尾声明位置,这样它们就不会越过

如果省略 ^ 或 $,则可以超过 13 位

测试一下on RegExr

【讨论】:

    【解决方案2】:

    我相信您要使用的正则表达式是^[12]\d{0,12}$。开头和结尾的符号捕获字符串的开头和结尾,其余部分与您的尝试非常相似。如有任何具体问题,请随时在 cmets 或新帖子中提问!

    【讨论】:

    • ^[1-2]\d{1,12}$
    • 嘿,Cagri,我相信 [1-2] 与 [12] 是一回事。我不知道哪个会更快离开我的头顶,但我很感激你的贡献。我会相应地编辑我的帖子
    • @CagriD.Kaynar 它按照你说的方式工作。使用正则表达式验证器,我想我会需要类似 (0[1-2])\d{13} 的东西,但你的想法奏效了。非常感谢你们!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 2021-11-14
    • 2010-12-16
    • 2014-07-08
    • 2021-11-15
    相关资源
    最近更新 更多