mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-05 13:17:58 +08:00
完善代码
This commit is contained in:
parent
1ee8b79248
commit
6ea24f4d64
@ -69,17 +69,10 @@ public class PatternPool {
|
|||||||
|
|
||||||
|
|
||||||
/** 社会统一信用代码 */
|
/** 社会统一信用代码 */
|
||||||
public static final String REGEX = "^[A-Z0-9]{18}$";
|
public static final String CREDIT_CODE = "^[A-Z0-9]{18}$";
|
||||||
|
|
||||||
public static final String BASE_CODE_STRING = "0123456789ABCDEFGHJKLMNPQRTUWXY";
|
public static final String BASE_CODE_REGEX = "[0-9A-Y]{18}";
|
||||||
|
|
||||||
public static final String BASE_CODE_REGEX = "[" + BASE_CODE_STRING + "]{18}";
|
|
||||||
|
|
||||||
public static final List<Character> BASE_CODES = new ArrayList<>();
|
|
||||||
|
|
||||||
public static final int[] WEIGHT = {1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28};
|
|
||||||
|
|
||||||
public static final char[] BASE_CODE_ARRAY = BASE_CODE_STRING.toCharArray();
|
|
||||||
|
|
||||||
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
/** Pattern池 */
|
/** Pattern池 */
|
||||||
|
@ -8,6 +8,8 @@ import cn.hutool.core.util.ReUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -87,6 +89,17 @@ public class Validator {
|
|||||||
*/
|
*/
|
||||||
public final static Pattern PLATE_NUMBER = PatternPool.PLATE_NUMBER;
|
public final static Pattern PLATE_NUMBER = PatternPool.PLATE_NUMBER;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 社会统一信用代码
|
||||||
|
*/
|
||||||
|
public static final List<Character> BASE_CODES = new ArrayList<>();
|
||||||
|
|
||||||
|
public static final String BASE_CODE_STRING = "0123456789ABCDEFGHJKLMNPQRTUWXY";
|
||||||
|
|
||||||
|
public static final int[] WEIGHT = {1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28};
|
||||||
|
|
||||||
|
public static final char[] BASE_CODE_ARRAY = BASE_CODE_STRING.toCharArray();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给定值是否为<code>true</code>
|
* 给定值是否为<code>true</code>
|
||||||
*
|
*
|
||||||
@ -1115,7 +1128,7 @@ public class Validator {
|
|||||||
if (StrUtil.isBlank(creditCode)) {
|
if (StrUtil.isBlank(creditCode)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return Pattern.matches(PatternPool.REGEX, creditCode);
|
return Pattern.matches(PatternPool.CREDIT_CODE, creditCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1133,9 +1146,9 @@ public class Validator {
|
|||||||
int sum = 0, length = 17;
|
int sum = 0, length = 17;
|
||||||
for (int i = 0; i < length; i++) {
|
for (int i = 0; i < length; i++) {
|
||||||
char key = businessCodeArray[i];
|
char key = businessCodeArray[i];
|
||||||
sum += (PatternPool.BASE_CODES.indexOf(key) * PatternPool.WEIGHT[i]);
|
sum += (BASE_CODES.indexOf(key) * WEIGHT[i]);
|
||||||
}
|
}
|
||||||
int value = 31 - sum % 31;
|
int value = 31 - sum % 31;
|
||||||
return check == PatternPool.BASE_CODE_ARRAY[value % 31];
|
return check == BASE_CODE_ARRAY[value % 31];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user