【发布时间】:2017-03-31 04:00:34
【问题描述】:
好吧,我有 2 个单独的正则表达式分别用于验证电子邮件和电话号码。喜欢
email = "^\w+\@([\da-zA-Z\-]{1,}\.){1,}[\da-zA-Z-]{2,6}"
和
phone = "^[2-9]\d{2}-\d{3}-\d{4}"
但是,我想从一个可以是电子邮件和电话的字段中输入输入。我必须验证它们。 我试过使用 ||这两个 resex 或之间的运算符,但没有工作。
[Required]
[MaxLength(50)]
[RegularExpression(@"^\w+\@([\da-zA-Z\-]{1,}\.){1,}[\da-zA-Z-]{2,6} || ^[2-9]\d{2}-\d{3}-\d{4}$", ErrorMessage = "Invalid Phone number Email Address")]
[Display(Name = "Phone number or Email")]
[System.Web.Mvc.Remote("IsUserExists", "Account", HttpMethod = "POST", ErrorMessage = "This Phone number or Email already exists")]
public string MobOrEmail { get; set; }
所以我需要一个适当的正则表达式,它可以一次验证电子邮件或电话号码。或者它们之间的 or 操作将是完美的,我非常需要它。谢谢。
【问题讨论】:
-
OR需要一个|字符(不是 2 个) -
我尝试过使用单管道 (|),但两者都不起作用,它只适用于电子邮件。
-
@Stephen Muecke 我认为这可以作为答案。
-
@lazycoder 你是在区号后面加空格吗?我注意到它需要一个破折号。
-
参考Regexr - 工作正常。但附带说明一下,对于电子邮件地址来说,这是一个非常糟糕的正则表达式
标签: regex entity-framework email asp.net-mvc-4 phone-number