【问题标题】:Regular expression for validating phone验证电话的正则表达式
【发布时间】:2011-03-09 13:18:44
【问题描述】:

我需要验证文本框以在 C# 中验证电话号码,只允许连字符 (-) 和整数值。

我想要一个只允许这些的正则表达式。

提前致谢

【问题讨论】:

  • 电话号码的格式因国家/地区而异。您需要验证什么格式?
  • 请让它也允许空格。没有空格的电话号码,普通人是看不懂的。
  • 国际号码在大多数符号中以“+”字符开头,例如“+33 1 56 56 56 56”
  • 另一个考虑因素是区号的括号。

标签: c# javascript regex


【解决方案1】:

试试下面的一个:

"^[0-9]+(-[0-9]+)*$"

它允许数字穿插连字符,但不能使用双连字符,因此“3-4”是正确的,但“23--5”不是。

【讨论】:

  • 嗯.. 是的,它应该 ;) 谢谢
【解决方案2】:

假设您在 C# 中进行验证:

var regex = new Regex(@"^(?:[0-9]+(?:-[0-9])?)*$");

但是,我也接受国家代码(您需要加上前缀)和空格。应该接受空格,因为用户可以输入它们,并且当它存储到数据库中时,它们很容易从字符串中删除。当字符串显示给用户时,它应该被重新格式化以包含一些空格。

编辑:我喜欢不接受双连字符的 markijbema 版本,因此我将其更改为具有类似匹配。

【讨论】:

    【解决方案3】:

    C#.net 有它自己的表达式编辑器

    这里是一个例子“(((\d{3}) ?)|(\d{3}-))?\d{3}-\d{4}”

    【讨论】:

      猜你喜欢
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多