【问题标题】:Regex : Matching phone numbers starting with NNN and having 10 numbers正则表达式:匹配以 NNN 开头并有 10 个号码的电话号码
【发布时间】:2010-05-09 15:28:57
【问题描述】:

我需要匹配以下电话号码:

  • 以 010 或 012 或 016 或 019 开头

  • 正好由 10 个数字组成

您能帮我了解如何使用 PHP 和正则表达式匹配数字吗?

【问题讨论】:

  • 010-123-4567 怎么样? (010) 123-4567?
  • 只有数字没有破折号

标签: php regex phone-number


【解决方案1】:
return preg_match('/^01[0269]\\d{7}$/', $theStringToTest);

这将匹配 0、1、(0、2、6、9)之一,然后是任意 7 个数字(3+7==10)。 ^ 表示字符串的开头,$ 表示字符串的结尾。

【讨论】:

  • 应用这个时它给了我 0 没有结果,尽管要测试的字符串包含数字示例:$dido = preg_match('/^01[0269]\\d{7}$/',$kokii );回声 $dido;
  • @Net:$kokii 中有什么内容?是否有一些尾随的新行或空格?
【解决方案2】:

我想我会使用^01[0269][0-9]{7}$

【讨论】:

    【解决方案3】:

    使用这个正则表达式

    /\b(010|012|016|019)[0-9]{7}\b/g
    

    【讨论】:

      猜你喜欢
      • 2010-12-16
      • 2013-05-17
      • 2020-01-18
      • 1970-01-01
      • 2021-07-31
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多