Подтвердить номер телефона? - PullRequest
0 голосов
/ 03 декабря 2010

Каковы условия для проверки номера телефона?

Ну, во-первых, это должно быть числовое значение, может включать следующие цифры 0123456789 и символ плюс.+

А как насчет следующих условий, где вы получаете эти данные?

-Это должно быть в формате [код страны + код города + номер телефона]

-Должна быть минимальная и максимальная длина

РЕДАКТИРОВАТЬ: а также какова минимальная и максимальная длина номера мобильного / мобильного телефона?

Ответы [ 6 ]

8 голосов
/ 03 декабря 2010

Вероятно, не стоит пытаться проверить номер телефона, если телефон может быть в любой точке мира.

  1. А как насчет добавочных номеров?
  2. 1-800-Flowers
  3. Номера различаются в зависимости от того, откуда происходит вызов (внутри / за пределами страны)

Места, которые я видел, которые действительно должны это проверить (например, craigslist), вызывают номер и делаютвы проверяете информацию, которую они вам дают по телефону.

0 голосов
/ 15 ноября 2013
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;
    }
}
0 голосов
/ 03 декабря 2010

Вы можете посмотреть здесь http://regexlib.com/Search.aspx?k=phone+number&c=-1&m=-1&ps=20

Я ввел номер телефона в качестве ключевых слов в поле поиска ...

0 голосов
/ 03 декабря 2010

Он должен иметь фиксированную длину, может быть, вы можете включить коды областей в поле со списком, а остальные цифры в текстовом поле.При изменении комбинированного списка вы можете установить максимальную длину текстового поля и изменить часть своего регулярного выражения.Вот пример:

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

Вы можете добавить различные значения в комбинированный список для разных стран, и он будет работать

0 голосов
/ 03 декабря 2010

Вы также должны проверить символы () - и учесть возможность использования международных номеров.

0 голосов
/ 03 декабря 2010

Вот то, что я сделал для номера телефона в JavaScript, не должно быть слишком отличным.Но разве Visual Studio не может сделать это автоматически?

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