【问题标题】:Phone number validation with letters带字母的电话号码验证
【发布时间】:2013-07-22 17:37:40
【问题描述】:

我需要一个正则表达式,它可以接受带有数字和字母的电话号码,例如 800callnow 之类的。有人可以帮忙吗?

    [Required]
    [RegularExpression(@"^07([\d]{3})[(\D\s)]?[\d]{3}[(\D\s)]?[\d]{3}$")]
    [Display(Name = "Phone")]
    public string Content2 { get; set; }

这是我现在的验证,当然它是不正确的.. 有效数字就像 3305323422 (330)335-2343 (330)call-now 一样,也可以是 1 或 0。

【问题讨论】:

  • 您能提供有效和无效电话号码的样本吗?
  • 用有效数字编辑了问题。
  • 嗯,它几乎是任何东西。 =)
  • 请测试这个模式:^\(?\d{3}\)?((\d{3}\-?\d+)|\w+)$
  • 目前,像 ^[\w\s()-]+ 这样微不足道的东西就可以了...这是您真正想要的,还是您想提供更严格的关于什么是有效数字的规则??

标签: c# asp.net-mvc regex


【解决方案1】:

这是我想出的一个:

@"^(([\d]{3}-?)|([(][\d]{3}[)]))?[\d\w]{3}([\d\w]-|-[\d\w]|[\d\w])[\d\w]{3}$";

它仅将前三位作为数字与可选引号匹配,并且整个区号是可选的(接受 7 位数字和 10 位数字)。

接下来的 3 个字符必须是字母数字,然后是可选的短划线和字符、字符和短划线,或者只是一个没有短划线的字符,然后是最后 3 个字符。

这将只允许最后 7 个字符的模式为 xxx-xxxx 或 xxxx-xxx 的破折号。

希望这能满足您的要求。

【讨论】:

    猜你喜欢
    • 2016-05-01
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2013-11-05
    相关资源
    最近更新 更多