mvc电话号码regex“;或;

mvc电话号码regex“;或;,regex,asp.net-mvc,Regex,Asp.net Mvc,我正在尝试验证电话号码或带有国家前缀(或不带国家前缀)的手机号码 例如: 1.55-123-1234(家庭号码)或055-123-1234(手机)=>[2,3][3][4] 2.或+999-55-123-1234=>+[3][2][3][4] 现在我正在使用下面的正则表达式:[RegularExpression(@“^([0-9]{2,3})[-.]?[0-9]{3}[-.]?([0-9]{4,6})$”,但它只覆盖1 最后一个[3][4]总是这样,我的问题是,是否有一种方法可以写=>([2,3

我正在尝试验证电话号码或带有国家前缀(或不带国家前缀)的手机号码 例如:
1.55-123-1234(家庭号码)或055-123-1234(手机)=>[2,3][3][4]
2.或+999-55-123-1234=>+[3][2][3][4]

现在我正在使用下面的正则表达式:
[RegularExpression(@“^([0-9]{2,3})[-.]?[0-9]{3}[-.]?([0-9]{4,6})$”
,但它只覆盖1

最后一个[3][4]总是这样,我的问题是,是否有一种方法可以写=>([2,3])或(+[3][2])

验证需要覆盖(+[3][2])[3][4]或(+[2,3])[3][4]以使其有效

如果有任何方法可以在(+[3][2])和(+[2,3])之间添加“或”?
或者也许有其他方法使它有效

提前感谢

或在正则表达式中使用
|
字符完成。
然后写入
+[3][2]
[2,3]
\+\d{3}-\d{2}\d{2,3}


因此,对于完整的正则表达式,您可以尝试以下操作:

(?:\+\d{3}[-.]?\d{2,3}\d{2,3}[-.]?\d{3}[-.]?\d{4}


演示

谢谢,我知道“|”是“或”运算符,但从您的答复中我看到执行“或”查询时我需要将其设置为(?:a | b)对吗?@boasis:Yes,
(?:)
是一个非捕获组(就像标准表达式中的一组括号)。如果您不使用它,您的正则表达式的第二部分(
[3][4]
)将是OR的正确成员的一部分。