goja-core/src/main/java/goja/core/kits/IdCardKit.java
public static boolean validateIdCard15(String idCard) {
        if (idCard.length() != CHINA_ID_MIN_LENGTH) {
            return false;
        }
        if (isNum(idCard)) {
            String proCode = idCard.substring(0, 2);
            if (cityCodes.get(proCode) == null) {
                return false;
            }
            String birthCode = idCard.substring(6, 12);
            Date birthDate = null;
            try {
                birthDate = new SimpleDateFormat("yy").parse(birthCode.substring(0, 2));
            } catch (ParseException e) {
                e.printStackTrace();
            }
            Calendar cal = Calendar.getInstance();
            if (birthDate != null) {
                cal.setTime(birthDate);
            }
            if (!valiDate(cal.get(Calendar.YEAR), Integer.valueOf(birthCode.substring(2, 4)),
                    Integer.valueOf(birthCode.substring(4, 6)))) {
                return false;
            }
        } else {
            return false;
        }
        return true;
    }
public static boolean validateIdCard15(String idCard) {
        if (idCard.length() != CHINA_ID_MIN_LENGTH) {
            return false;
        }
        if (isNum(idCard)) {
            String proCode = idCard.substring(0, 2);
            if (cityCodes.get(proCode) == null) {
                return false;
            }
            String birthCode = idCard.substring(6, 12);
            Date birthDate = null;
            try {
                birthDate = new SimpleDateFormat("yy").parse(birthCode.substring(0, 2));
            } catch (ParseException e) {
                e.printStackTrace();
            }
            Calendar cal = Calendar.getInstance();
            if (birthDate != null) {
                cal.setTime(birthDate);
            }
            if (!valiDate(cal.get(Calendar.YEAR), Integer.valueOf(birthCode.substring(2, 4)),
                    Integer.valueOf(birthCode.substring(4, 6)))) {
                return false;
            }
        } else {
            return false;
        }
        return true;
    }
public static boolean validateIdCard15 ( String idCard ) { if ( idCard . length ( ) != CHINA_ID_MIN_LENGTH ) { return false ; } if ( isNum ( idCard ) ) { String proCode = idCard . substring ( 0 , 2 ) ; if ( cityCodes . get ( proCode ) == null ) { return false ; } String birthCode = idCard . substring ( 6 , 12 ) ; Date birthDate = null ; try { birthDate = new SimpleDateFormat ( "yy" ) . parse ( birthCode . substring ( 0 , 2 ) ) ; } catch ( ParseException e ) { e . printStackTrace ( ) ; } Calendar cal = Calendar . getInstance ( ) ; if ( birthDate != null ) { cal . setTime ( birthDate ) ; } if ( ! valiDate ( cal . get ( Calendar . YEAR ) , Integer . valueOf ( birthCode . substring ( 2 , 4 ) ) , Integer . valueOf ( birthCode . substring ( 4 , 6 ) ) ) ) { return false ; } } else { return false ; } return true ; }
验证15位身份编码是否合法

@param idCard 身份编码
@return 是否合法
验证15位身份编码是否合法