【问题标题】:C# phone number checkC# 电话号码检查
【发布时间】:2013-03-25 15:32:17
【问题描述】:

我正在验证 10 位北美电话号码(代码如下)。我只接受数字。我似乎无法弄清楚如何更改它,以便如果输入的数字以 911、411 或 0 开头,则会引发错误。

string phoneNum = phoneTextBox.Text;
Regex regex = new Regex(@"^\d{10}$");
Match match = regex.Match(phoneNum);
if (!match.Success)
{
   MessageBox.Show(phoneNum + " is not a valid 10 digit phone number (Ex. 6134561234)");
}

【问题讨论】:

标签: c# regex


【解决方案1】:

试试这个:

Regex regex = new Regex(@"^(?!411|911|0)\d{10}$");
                           +++++++++++++

它们被称为否定前瞻断言

【讨论】:

  • 谢谢!我已经做了很多谷歌搜索,但从未遇到过
【解决方案2】:

您可以使用更多高级模式。尝试在这里找到那个 - http://regexlib.com/DisplayPatterns.aspx?cattabindex=6&categoryId=7

我已经尝试运行 Regex Tracer,它找到了正确的数字 4111111111 模式 - ^\d{10}$。

【讨论】:

    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      相关资源
      最近更新 更多