一、這裏取四個種子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 能夠直接用來在頁面上展現了,評價像真的,就開始誘導顧客購買吧!!!