gpt4 book ai didi

c# - 在C#中测试电话号码

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:53 24 4
gpt4 key购买 nike

我有一个奇怪的问题,我正在使用下面的代码测试电话号码,在测试中我的代码工作正常。该程序昨天上线,有人使用电话号码08720 123 456,我的代码失败。您能告诉我为什么为什么对0161 287 1234返回TRUE,对08720 123 456返回FALSE吗?

传真号码1:0161 287 1234 ---> IsNumber返回TRUE
传真号码2:08720 123 456 ---> IsNumber返回FALSE

static bool IsNumber(string value)
{
// Return true if this is a number.
int number1;
return int.TryParse(value, out number1);
}

bool testForFax = IsNumber(faxOrEmail);
if (testForFax == true)
{
backgroundWorker2.RunWorkerAsync(); //send fax
}
else
{
MessageBox.Show("Please enter a fax number.");
}

最佳答案

int可以采用的值的范围是从负数2147483648到正数2147483647。

0161 287 1234在此范围内,08720 123 456不在此范围内。

您不应该以这种方式解析电话号码-从数学上讲,它不是数字(您可以以有意义的方式添加/减去电话号码吗?)。

您应该使用regular expression对其进行验证。

关于c# - 在C#中测试电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com