【问题标题】:Simple integer regular expression简单整数正则表达式
【发布时间】:2011-04-14 08:41:33
【问题描述】:

我有ValidationRegularExpression="[0-9]",它只允许一个字符。如何使其允许(包括)1 到 7 位数字?我试过[0-9]{1-7},但没用。

【问题讨论】:

  • +1。虽然这是一个简单的问题,但您清楚地陈述了问题,定义了您的预期结果并告诉我们您已经尝试过什么。欢迎使用 *!

标签: asp.net regex


【解决方案1】:

您的语法几乎正确:[0-9]{1,7}

您可以通过将[0-9] 替换为通用字符组“十进制数字”:\d,使您的解决方案更加优雅(并且对文化敏感):\d(请记住,其他语言可能使用不同的字符来表示数字而不是 0- 9).

这是供将来参考的文档:

【讨论】:

  • +1 和我几乎相同的答案被删除。你在那儿非常快得离谱。 :)
【解决方案2】:

如果你想避免前导零,你可以使用这个:

^(?!0\d)\d{1,7}$

第一部分是一个否定的前瞻断言,它检查字符串中是否有一个 0 后跟一个数字。如果是,则不匹配。

在线查看:http://regexr.com?2thtr

【讨论】: