【问题标题】:Regular expression and phone number [closed]正则表达式和电话号码
【发布时间】:2013-01-28 04:59:55
【问题描述】:

我想验证电话号码。这是我的正则表达式:

[RegularExpression(@"((\+7)|7) ((700|701|702|705|707|712|713|717|718|721|725|726|727|777)) [0-9]{3}-[0-9]{4}")]

这是测试值:7 (701) 777-7777。

但是,它不起作用。哪里有错误?

【问题讨论】:

  • 你告诉我们错误 - 而不是相反
  • 这么多问题。什么国家?什么错误?
  • 如果你想在匹配中包含括号,你需要转义括号。试试这样的:@"(\+7|7)\s\((700|701|702|705|707|712|713|717|718|721|725|726|727|777)\)\s\d{3}-\d{4}"
  • @IchabodClay:我正在使用regexhero.net/tester 测试你的正则表达式,但不匹配。
  • 复制/粘贴时会出现一些奇怪的格式。您需要删除“-\d{4}”并在regexhero 中重新输入。或者只使用以下答案之一:)

标签: c# .net regex string


【解决方案1】:

模式可以简化成这样,

(\+)?7\s\(7(0[0125]|1[2378]|2[1567]|77)\)\s[0-9]{3}-[0-9]{4}

截图

【讨论】:

    【解决方案2】:
    [RegularExpression(@"((\+7)|7) ((700|701|702|705|707|712|713|717|718|721|725|726|727|777)) [0-9]{3}-[0-9]{4}")]
                                   ^^ There
    

    您需要用反斜杠转义外括号。

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 2014-02-15
      • 2012-04-28
      • 1970-01-01
      • 2016-02-02
      • 2011-12-14
      • 2013-05-26
      • 1970-01-01
      相关资源
      最近更新 更多