一、这里取四个种子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 能够直接用来在页面上展现了,评价像真的,就开始诱导顾客购买吧!!!