用字母验证电话号码

时间:2013-07-22 17:37:40

标签: c# asp.net-mvc regex

我需要一个正则表达式,接受一个带有数字和字母的电话号码,如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 :(得分: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。

希望这符合您的要求。