Проверка данных для случайных номеров телефонов - PullRequest
1 голос
/ 05 мая 2010

Я храню номера телефонов различной длины в моем приложении WPF (C #, VS 08).

Я храню их как строки. Мой вопрос о моем методе AddNewPhoneNo(string phoneNo).

В этом методе я использую Int.TryParse для проверки входящего номера (т. Е. Не ноль, это число ...). С тех пор я понял, что это, вероятно, не лучший способ сделать это, потому что тогда я ограничен числом, которое составляет ± 2147483647. Определенно, это не всегда так с номерами телефонов.

Что такое хороший и простой способ проверки телефонных номеров? Я предполагаю, что основные правила будут следующими:

  • Все цифры
  • Все положительные
  • До 25 символов (может быть больше, но это будет делать в настоящее время)

Не могу понять, есть ли еще какие-то правила на данный момент, вот, пожалуй, все.

Ответы [ 3 ]

1 голос
/ 05 мая 2010

Вы можете попробовать Int64.TryParse, что даст вам диапазон ± 9223372036854775807

1 голос
/ 05 мая 2010

Если ваши ограничения заключаются в том, что строка должна быть не нулевой, а только числами и <= 25 символов, тогда вы можете просто сделать следующее: </p>

static bool IsValidPhoneNumber(string phoneNumber)
{
    return !string.IsNullOrEmpty(phoneNumber)
        && (phoneNumber.Length <= 25)
        && phoneNumber.All(c => char.IsNumber(c));
}

Если ваши ограничения более сложны (например, строка может содержать группировку цифр, например "123-456-7890" или скобки, например, "(123) 4567890"), тогда вам следует использовать RegEx.

1 голос
/ 05 мая 2010

Как насчет шаблона RegEx: http://regexlib.com/REDetails.aspx?regexp_id=458

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...