随机变化电话号码的数据验证

时间:2010-05-05 04:07:22

标签: c# string validation int tryparse

我在WPF(C#,VS 08)App中存储了不同长度的电话号码。

我将它们存储为字符串。我的问题是我的方法AddNewPhoneNo(string phoneNo)

在这种方法中,我使用Int.TryParse来验证传入的数字(即非空,是数字......)。我已经意识到这可能不是最好的方法,因为那时我被限制在±2147483647的数字。绝对不是电话号码的情况。

验证电话号码的好方法是什么?我想基本规则如下:

  • 所有数字
  • 全部正面
  • 最多25个字符(可能更多,但暂时可以这样做)

如果现在还有更多的规则,那就不可能了,那可能是它。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

你可以尝试Int64.TryParse,它会给你一系列的范围±9223372036854775807

答案 2 :(得分:1)

如果您的约束条件是字符串必须不为null,只有数字和< = 25个字符,那么您只需执行以下操作:

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

如果您的约束更复杂(例如,字符串可以包含数字分组,如“123-456-7890”或括号如“(123)4567890”),那么您应该使用RegEx。

相关问题