如何从手机号码中删除国家/地区代码?

问题描述:

我想从手机号码中删除国家代码。该方法必须满足世界上任何一个国家。我试图从手机号码中删除特殊字符,如“+”,“ - ”,但我无法从手机号码中删除任何国家代码。 这里是删除手机号码中的特殊字符的代码。如何从手机号码中删除国家/地区代码?

public string RemoveCountryCode() 
{ 
    string phoneNumber = "441632960960"; 
    phoneNumber = Regex.Replace(phoneNumber, @"[^\d]", ""); 
    return phoneNumber ; 
} 

这里主要的问题是在手机号码位数是因国家不同,我研究的主题,但其中许多人写了静态的方式。这里是链接Best practice for parsing and validating mobile number

+3

实际上,你应该有国家代码和手机号码分开,以避免这个问题 – Rahul

+2

不同-2国家都有不同-2移动的长度和它们可能对国家代码相同的原料炭,所以你永远不知道从哪个指标移动启动或国家代码结束。所以最后你不能这样做直到除非你有国家代码,固定的移动长度 –

+1

你不能这样做从你的输入字符串,因为有countires 2和前面有三位数字(不知道是否存在甚至存在与更多字符contires)。正如其他人已经提到的,你应该从一开始就有两个输入字段,以便彼此分离。 – HimBromBeere

你必须知道这个国家。请找到我的答案,如果你有国家名单,对你有帮助。如果您有任何问题,请告诉我。

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; 
    } 
+0

谢谢meena!它运作良好。 – prasanthi

+0

@prasanthi欢迎 – Meena