如何使用不同格式的国家代码验证电话号码。我使用的是有效的电话号码lengh mehod,在这里使用电话号码的正则表达式来验证如下
public bool IsValidPhoneNumberLength(string phoneNumber)
{
bool isValidPhone = false;
string pattern = @"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
bool result = isValidPhone = regex.IsMatch(phoneNumber);
return result;
}以及下面提到的单元测试用例
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("2345678900"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("0019885021320"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("(212)897-0067"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("1(212)897-0067"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("001(212)897-0067"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("001.212.897.0067"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("001(212)897.00671234"));
Assert.AreEqual(true, company1.IsValidPhoneNumberLength("001 212 897 0067"));单元测试是失败的,在测试方法中提到了一些条件。
发布于 2014-07-29 15:55:08
据我所见,这段代码有两个问题:
https://stackoverflow.com/questions/25019213
复制相似问题