|
|
@@ -7,6 +7,7 @@ import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.ReUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.core.util.IdcardUtil;
|
|
|
|
|
|
import java.net.MalformedURLException;
|
|
|
import java.util.regex.Matcher;
|
|
|
@@ -52,10 +53,6 @@ public class Validator {
|
|
|
*/
|
|
|
public final static Pattern MOBILE = PatternPool.MOBILE;
|
|
|
/**
|
|
|
- * 身份证号码
|
|
|
- */
|
|
|
- public final static Pattern CITIZEN_ID = PatternPool.CITIZEN_ID;
|
|
|
- /**
|
|
|
* 邮编
|
|
|
*/
|
|
|
public final static Pattern ZIP_CODE = PatternPool.ZIP_CODE;
|
|
|
@@ -724,19 +721,17 @@ public class Validator {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 验证是否为身份证号码(18位中国)<br>
|
|
|
- * 出生日期只支持到到2999年
|
|
|
+ * 验证是否为身份证号码(支持18位、15位和港澳台的10位)
|
|
|
*
|
|
|
- * @param value 值
|
|
|
- * @return 是否为身份证号码(18位中国)
|
|
|
+ * @param value 身份证号,支持18位、15位和港澳台的10位
|
|
|
+ * @return 是否为有效身份证号码
|
|
|
*/
|
|
|
public static boolean isCitizenId(CharSequence value) {
|
|
|
- return isMatchRegex(CITIZEN_ID, value);
|
|
|
+ return IdcardUtil.isValidCard(String.valueOf(value));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 验证是否为身份证号码(18位中国)<br>
|
|
|
- * 出生日期只支持到到2999年
|
|
|
+ * 验证是否为身份证号码(支持18位、15位和港澳台的10位)
|
|
|
*
|
|
|
* @param <T> 字符串类型
|
|
|
* @param value 值
|