请谁能帮我将此正则表达式模式从 javascript 转换为 C#
var phonePattern = /^(([^\.\-\,a-wy-z]([\(]?(\+|[x])?\d+[\)]?)?[\s\.\-\,]?([\(]?\d+[\)]?)?[\s\.\-\,]?(\d+[\s\.\-\,]?)+[^\.\-\,a-z])|((\+|[x])?\d+))$/i
我需要验证电话号码,我将从文本框中获取值,并将其与正则表达式模式进行比较,我需要专门转换此模式,因为此模式将解决几乎大多数国家/地区的电话模式,例如英国、美国、欧洲、印度等。
这是我的 C# 代码
Regex REphone = new Regex(@" c# pattern here");
if (REphone.IsMatch(TextBox_Phone.Text)) {
// ...
} else {
// ...
}
最佳答案
new Regex(@"^(([^\.\-\,a-wy-z]([\(]?(\+|[x])?\d+[\)]?)?[\s\.\-\,]?([\(]?\d+[\)]?)?[\s\.\-\,]?(\d+[\s\.\-\,]?)+[^\.\-\,a-z])|((\+|[x])?\d+))$",
RegexOptions.IgnoreCase);
模式本身是相同的,但在 @"
, "
之间引用,而不是 /
, /
.
RegexOptions.IgnoreCase
使匹配不区分大小写,这相当于 JavaScript 正则表达式文字末尾的 i
标志。
关于javascript - 请谁能帮我将此正则表达式模式从 javascript 转换为 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360033/