就是要从A列手机号里面 把相应的吉祥号筛出来,要晒出手机靓号
????????AAA         尾号3个一样的:尾号000、111、222、333、444、555.....
???????AAAA         尾号4个一样的:尾号0000、1111、2222、3333、4444
???????AABB         尾号0011、1122、2233、3344、4455、5566.......
???????ABAB         尾号1010、1212、2323、以及5959、9292之类的.......
???????ABBA         尾号1331、6556、9559........
????????BCD         尾号234、345、456、678、890、012....以及987、654等倒顺的
???????ABCD         尾号0123、1234、2345、3456、4567、5678、7890
?????????88          尾号88最后要筛出来所有尾号后四位相同的手机号都是那些号码(例如13836687777、13836683333、13836685555这样的号码)以此类推
我要用程序筛选出来
然后根据不同的规则 存入数据库
等查询的时候也不会耗费太多数据库资源
在线等 

解决方案 »

  1.   


    我现在就是不知道怎么分类  用程序 怎么把这些号码 筛选出来 哪些是aabb  哪些是aaabbb
      

  2.   

    什么样算靓号?所有规则是什么...
    aaabbb? 上边没有提到这种号...
      

  3.   


    规则就是 后4位是 aabb 什么的的。
    比如 13904511122  13904512233 这两号就属于aabb
    我要用程序 判断出他俩是 aabb的 
    还有比如  139045111222 139045222333 这就输入 aaabbb 的
    都是要用程序判断出来  你能明白不?
    不是你说的判断他属于哪个规则就可以了
    怎么判断?
      

  4.   

    正则,不过我只会写这几个了
    ????????AAA \d{8}(\d)\1{2}
    ???????AAAA \d{7}(\d)\1{3}
    ???????AABB \d{7}(\d)\1(\d)\2
    ???????ABAB 
    ???????ABBA \d{7}(\d)(\d)\2\1
    ????????BCD
    ???????ABCD
    ?????????88 \d{9}[8]{2}
      

  5.   


            public static Boolean IsGoodNum(String par,String num)
            {
                String s = num.Substring(num.Length - par.Length);            Boolean flag = true;            for(Int32 i = 1; i < par.Length;i++)
                {
                    if(par[i] - par[i-1] != s[i] - s[i-1])
                    {
                        flag = false;
                        break;
                    }
                }
                return flag;
            }
            static void Main(string[] args)
            {            if (IsGoodNum("aaabbb", "13655222233"))
                    Console.WriteLine("Good");
                else
                    Console.WriteLine("Not Good");
             }//写了个方法,你看看可以不?
    public static Boolean IsGoodNum(String par,String num)        
    //par指的是后几位的规则,num指手机号
    //比如要验证是否后3位连续,可以用
    IsGoodNum("abc","13256452123") && IsGoodNum("abc","13256452321")
      

  6.   

    不好意思
    我补充下吧
    靓号的规则如下
    | AAAAA | AAAA | AAA | AABBB | AA | AABBCC | AABB | ABABAB | ABAB | ABCDABCD | ABCD | ABC | ABCABC | AABBCC* | ABCABC* | ABABAB* | ABC*ABC* | *ABC*ABC | AB**AB** | **AB**AB | *A*A*A*A | A*A*A*A* | AABCC | ABCAB | AAAB | ABBA | ABAC | BACA 
    看来我有必要加分了
      

  7.   

    例子有点小错误
    应该是:
    IsGoodNum("abc","13256452123") || IsGoodNum("cba","13256452123")
      

  8.   


    AB**AB** 
    是136456685612这样的?
    13656488952这个算么?
      

  9.   


    你QQ多少 我QQQ:10047588
    加你 QQ上说 
      

  10.   

    public static Boolean IsGoodNum(String par, String num)
            {
                String s = num.Substring(num.Length - par.Length);            String tempPar = "";
                String temps = "";
                for (Int32 i = 0; i < par.Length; i++)
                {
                    if (par[i] == '*')
                    {
                        continue;
                    }
                    else
                    {
                        tempPar += par[i];
                        temps += s[i];
                    }
                }            par = tempPar;
                s = temps;            Boolean flag = true;            Int32 sub = par[0] - s[0];
                for (Int32 i = 1; i < par.Length; i++)
                {
                    if (par[i] - s[i] != sub)
                    {
                        flag = false;
                        break;
                    }
                }
                return flag;
            }
            static void Main(string[] args)
            {            if (IsGoodNum("**ab**ab", "13612569856"))
                    Console.WriteLine("Good");
                else
                    Console.WriteLine("Not Good");
            }//output: Good
      

  11.   


    如果判断的是AABB  输入2233 可以 输入 2244 就不可以了
      

  12.   

    如果判断的是AABB 输入2233 可以 输入 2244 就不可以了
      

  13.   


     public static Boolean IsGoodNum(String par, String num)
            {
                String s = num.Substring(num.Length - par.Length);            String tempPar = "";
                String temps = "";
                for (Int32 i = 0; i < par.Length; i++)
                {
                    if (par[i] == '*')
                    {
                        continue;
                    }
                    else
                    {
                        tempPar += par[i];
                        temps += s[i];
                    }
                }            par = tempPar;
                s = temps;            Boolean flag = true;            Int32 sub = par[0] - s[0];
                for (Int32 i = 1; i < par.Length; i++)
                {
                    if (par[i] - s[i] + (s[i] - s[0]) != sub + (par[i] - par[0]) )
                    {
                        flag = false;
                        break;
                    }
                }
                return flag;
            }
      

  14.   


    public static Boolean IsGoodNum(String par, String num)
            {
                String s = num.Substring(num.Length - par.Length);            String tempPar = "";
                String temps = "";
                for (Int32 i = 0; i < par.Length; i++)
                {
                    if (par[i] == '*')
                    {
                        continue;
                    }
                    else
                    {
                        tempPar += par[i];
                        temps += s[i];
                    }
                }            par = tempPar;
                s = temps;            Boolean flag = true;            Int32 sub = par[0] - s[0];
                for (Int32 i = 1; i < par.Length; i++)
                {
                    if (par[i] - s[i] != sub - ((s[i] - s[0]) -(par[i] - par[0])) )
                    {
                        flag = false;
                        break;
                    }
                }
                return flag;
            }
      

  15.   


    public static Boolean IsGoodNum(String par, String num)
            {
                String s = num.Substring(num.Length - par.Length);            String tempPar = "";
                String temps = "";
                for (Int32 i = 0; i < par.Length; i++)
                {
                    if (par[i] == '*')
                    {
                        continue;
                    }
                    else
                    {
                        tempPar += par[i];
                        temps += s[i];
                    }
                }            par = tempPar;
                s = temps;            for (Int32 i = 0; i < par.Length; i++)
                {
                    Char c = par[i];
                    if (par.IndexOf(c) < i)
                    {
                        continue;
                    }
                    else
                    {
                        Char cc = s[i];
                        s = s.Replace(cc, c);
                    }
                }            return s == par;
            }