验证电话号码的条件是什么?
那么首先它必须是一个数值,可以包括以下数字 0123456789 和加号。+
但是下面的条件呢,你从哪里得到这些数据呢?
-必须是[国家拨号代码+区号+电话号码]的格式
- 它必须是最小和最大长度
编辑:手机/手机号码的最小和最大长度是多少?
验证电话号码的条件是什么?
那么首先它必须是一个数值,可以包括以下数字 0123456789 和加号。+
但是下面的条件呢,你从哪里得到这些数据呢?
-必须是[国家拨号代码+区号+电话号码]的格式
- 它必须是最小和最大长度
编辑:手机/手机号码的最小和最大长度是多少?
如果电话可以在世界任何地方,则可能不值得尝试验证电话号码。
我见过的实际需要验证的地方(例如 craigslist)会拨打该号码并让您验证他们通过电话提供给您的信息。
这是我在 JavaScript 中为电话号码做的一个,应该不会有太大的不同。但是 Visual Studio 不能自动为您做到这一点吗?
var ph = refp.search(/^[1-9][0-9]{2}-[0-9]{3}-[0-9]{4}$/);
您还必须验证字符 ()- 并且必须考虑国际号码的可能性。
它必须有一个固定的长度,也许你可以在组合框中包含区号,在文本框中包含其余的数字。在更改组合框时,您可以设置文本框的 maxLength 并更改正则表达式的区域代码部分。这是一个示例:
/// 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
}
您可以为不同国家/地区的组合框添加不同的值,它会起作用
你可以看这里http://regexlib.com/Search.aspx?k=phone+number&c=-1&m=-1&ps=20
我在搜索框中输入了电话号码作为关键词...
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;
}
}