asp.net 你的电话号码?

cs7cruho  于 12个月前  发布在  .NET
关注(0)|答案(7)|浏览(138)

验证电话号码的条件是什么?
首先,它必须是一个数值,它可以包括下列数字0123456789和加号+
但是下面的情况呢,你从哪里得到这些数据呢?

  • 格式必须为[国家/地区拨号代码+区号+电话号码]
  • 它必须是最小和最大长度
    编辑:还有,移动的号码的最小和最大长度是多少?
a2mppw5e

a2mppw5e1#

如果电话可以在世界任何地方,那么尝试验证电话号码可能是不值得的。
1.延期怎么办

  1. 1-800-Flowers
    1.号码根据呼叫来源地(国内/国外)而不同
    我见过的那些需要验证的地方(比如craigslist)会打电话给你,让你验证他们给予你的信息。
x6492ojm

x6492ojm2#

您还必须验证字符()-并必须考虑到国际号码的可能性。

zbdgwd5y

zbdgwd5y3#

它必须有一个固定的长度,也许你可以在一个组合框中包括区号和其余的数字在一个文本框.在组合框的变化,你可以设置文本框的maxLength和更改regex的areacode部分.这里是一个示例:

/// 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
}

字符串
你可以为不同的国家在组合框中添加不同的值,这样就可以了

ttvkxqim

ttvkxqim4#

你可以看这里http://regexlib.com/Search.aspx?k=phone+number&c=-1&m=-1&ps=20
我已经在搜索框中输入了电话号码作为关键词...

z2acfund

z2acfund5#

这是我用JavaScript为一个电话号码做的,应该不会有太大的不同。但是Visual Studio不能自动为你做吗?

var ph = refp.search(/^[1-9][0-9]{2}-[0-9]{3}-[0-9]{4}$/);

字符串

zzoitvuj

zzoitvuj6#

private void txtContactNo_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar)
        && !char.IsDigit(e.KeyChar)
        && e.KeyChar != '.')
    {
        e.Handled = true;
    }

    if (e.KeyChar == '.'
     && (sender as TextBox).Text.IndexOf('.') > -1)
    {
        e.Handled = true;
    }
}

字符串

new9mtju

new9mtju7#

使用libphonenumbner-csharp库。
如果我们取一个简单的电话号码:

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");


var number = util.Parse("+1-800-800-600", "US");


util.IsValidNumber(number)false

免责声明:我在我的个人blog中对此做了一个小文章。

相关问题