根据种子生成手机号码

一、这里取四个种子Id(评价id):java

10006七、10006八、10006九、100070算法

二、手机号码段比较多,这里取经常使用的,我取了28个,做为手机号码前三个:spa

130,185,158,134,180,131,145,132,133,181,135,136,150,187,153,182,137,186,138,156,151,159,139,157,189,155,188,152code

三、算法步骤:string

a,评价id对28取余(定位到取手机前三个数字),此值做为手机号码的前三位it

b,  评价id对975取余(纯粹为了取余而已,获取不一样的数字)class

c,  将a,b结果相加mobile

d,将c步骤的结果再加上a步骤获取的手机前三个号码,此值做为最终手机号码的后三位数据

e,最后的结果手机号码只展现前三位和后三位,中间数据不展现,用‘*’替代static

注意:要注意d步骤获取的值,有可能小于三位,个人作法是直接补0,简单粗暴

下面贴出代码:

public class PhoneNumUtils {
    public static String makePhoneNumber(Integer id) {

        int mobilePrefixs[] = { 130, 185, 158, 134, 180, 131, 145, 132, 133, 181, 135, 136, 150, 187, 153, 182, 137,
                186, 138, 156, 151, 159, 139, 157, 189, 155, 188, 152 };
        int mobilePrefix = mobilePrefixs[id % 28];
        int maskCode = id % 18 + id % 975;
        String maskCodeStr = ((Integer) (maskCode + mobilePrefix)).toString();
        switch (maskCodeStr.length()) {
            case 1:
                maskCodeStr = "00" + maskCodeStr;
                break;
            case 2:
                maskCodeStr = "0" + maskCodeStr;
                break;
            default:
                maskCodeStr = maskCodeStr.substring(0, 3);
                break;
        }
        return mobilePrefix + "*****" + maskCodeStr;
    }

    public static void main(String[] args) {
        System.out.println(makePhoneNumber(100067));
        System.out.println(makePhoneNumber(100068));
        System.out.println(makePhoneNumber(100069));
        System.out.println(makePhoneNumber(100070));
    }
    
    // 最后输出结果:
    157*****779
    189*****813
    155*****781
    188*****816
    能够直接用来在页面上展现了,评价像真的,就开始诱导顾客购买吧!!!
相关文章
相关标签/搜索