/// 3 digits of area code like (333)
string areaCodeRegExp = @"(?<areaCodeGroup>\(\d\d\d\))";
/// xxx-xxxx phone num ex: 333-3333
string phoneRegExp = @"(?<phoneGroup>\d\d\d\-\d\d\d\d)";
if (System.Text.RegularExpressions.Regex.IsMatch(text, areaCodeRegExp + " " + phoneRegExp))
{
// this will be valid if phone is (312) 333-4453
}
var util = PhoneNumberUtil.GetInstance();
var number = util.Parse("+1-800-800-6000", "US");
Console.WriteLine(util.IsValidNumber(number));
Console.WriteLine(number.CountryCode.ToString());
Console.WriteLine(util.GetRegionCodeForCountryCode(number.CountryCode));
Console.WriteLine(number.NationalNumber.ToString());
Console.WriteLine(util.Format(number, PhoneNumberFormat.E164));
字符串 例如,如果电话号码不正确,
var number = util.Parse("+1-800-800-60001", "US");
7条答案
按热度按时间a2mppw5e1#
如果电话可以在世界任何地方,那么尝试验证电话号码可能是不值得的。
1.延期怎么办
1.号码根据呼叫来源地(国内/国外)而不同
我见过的那些需要验证的地方(比如craigslist)会打电话给你,让你验证他们给予你的信息。
x6492ojm2#
您还必须验证字符()-并必须考虑到国际号码的可能性。
zbdgwd5y3#
它必须有一个固定的长度,也许你可以在一个组合框中包括区号和其余的数字在一个文本框.在组合框的变化,你可以设置文本框的maxLength和更改regex的areacode部分.这里是一个示例:
字符串
你可以为不同的国家在组合框中添加不同的值,这样就可以了
ttvkxqim4#
你可以看这里http://regexlib.com/Search.aspx?k=phone+number&c=-1&m=-1&ps=20
我已经在搜索框中输入了电话号码作为关键词...
z2acfund5#
这是我用JavaScript为一个电话号码做的,应该不会有太大的不同。但是Visual Studio不能自动为你做吗?
字符串
zzoitvuj6#
字符串
new9mtju7#
使用libphonenumbner-csharp库。
如果我们取一个简单的电话号码:
字符串
例如,如果电话号码不正确,
型
或
型
比
util.IsValidNumber(number)
将false
源
免责声明:我在我的个人blog中对此做了一个小文章。