第一个确保有效,经过生产验证的
/**
* 判断IMEI号是否合法,合法返回true,不合法返回false
*
* @param imei IMEI号
* @return if 合法 true else false
*/
public static Boolean isCorrectImei(String imei) {
final int imeiLength = 15;
if (imei.length() == imeiLength) {
int check = Integer.valueOf(imei.substring(14));
imei = imei.substring(0, 14);
char[] imeiChar = imei.toCharArray();
int resultInt = 0;
for (int i = 0; i < imeiChar.length; i++) {
int a = Integer.parseInt(String.valueOf(imeiChar[i]));
i++;
final int temp = Integer.parseInt(String.valueOf(imeiChar[i])) * 2;
final int b = temp < 10 ? temp : temp - 9;
resultInt += a + b;
}
resultInt %= 10;