如何从手机号码中删除国家/地区代码?
问题描述:
我想从手机号码中删除国家代码。该方法必须满足世界上任何一个国家。我试图从手机号码中删除特殊字符,如“+”,“ - ”,但我无法从手机号码中删除任何国家代码。 这里是删除手机号码中的特殊字符的代码。如何从手机号码中删除国家/地区代码?
public string RemoveCountryCode()
{
string phoneNumber = "441632960960";
phoneNumber = Regex.Replace(phoneNumber, @"[^\d]", "");
return phoneNumber ;
}
这里主要的问题是在手机号码位数是因国家不同,我研究的主题,但其中许多人写了静态的方式。这里是链接Best practice for parsing and validating mobile number
答
你必须知道这个国家。请找到我的答案,如果你有国家名单,对你有帮助。如果您有任何问题,请告诉我。
public string RemoveCountryCode()
{
string phonenumber = "+91123123123";
List<string> countries_list = new List<string>();
countries_list.Add("+1");
countries_list.Add("+91");
foreach(var country in countries_list)
{
phonenumber = phonenumber.Replace(country, "");
}
return phonenumber;
}
实际上,你应该有国家代码和手机号码分开,以避免这个问题 – Rahul
不同-2国家都有不同-2移动的长度和它们可能对国家代码相同的原料炭,所以你永远不知道从哪个指标移动启动或国家代码结束。所以最后你不能这样做直到除非你有国家代码,固定的移动长度 –
你不能这样做从你的输入字符串,因为有countires 2和前面有三位数字(不知道是否存在甚至存在与更多字符contires)。正如其他人已经提到的,你应该从一开始就有两个输入字段,以便彼此分离。 – HimBromBeere