0

我需要一个正则表达式,它可以接受带有数字和字母的电话号码,例如 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 并且也可能有一个或零。

4

1 回答 1

0

这是我想出的一个:

@"^(([\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 模式的破折号。

希望这能满足您的要求。

于 2013-07-22T18:11:35.910 回答