string phone = "13800138000,1380013822,13800013800000,138921444,444";
        string[] phones = phone.Split(',');
        foreach (string item in phones)
        {
            if (!IsHandset(item))
            {
                //alert("错误的手机号码!")
            }
        }
public  bool IsHandset(string str_handset)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^[1]+[3,5,8]+\d{9}");
    }
互相学习,说错勿怪!

解决方案 »

  1.   

    十万个- -
    直接用正则啊
    ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
    如果你拿到了字符串
    并且字符串不用做修改
    正则是最快的
    其他方法现在没想到
    你试试
    然后告诉我- -
      

  2.   

    第一步先要搞定分隔符var posList = new List<int>();
    for (var i = 0; i <= str.Length; i++)
        if (str[i] == ',')
            posList.Add(i);
      

  3.   

    老大
    这个什么意思 ?
    接着呢??接着就在posList取值去验证手机号码了。
      

  4.   

    老大
    这个什么意思 ?
    接着呢??接着就在posList取值去验证手机号码了。
    额之前就是这样 
    求更好的方法