code: public static String getArea(String idCard) {
          // 用户所属省份
          String province;
          // 用户所属地区
          String area;
          String pre = idCard.substring(0, 6);
  
          if (AREA.get(pre) == null) {
              logger.warn("地区不存在或者地区已不在最新行政区划代码中");
          }
  
          // 判断是否输入台湾省和特别行政区
          if (Tools.contains(pre, HK)) {
              // 台湾省和特别行政区
              area = AREA.get(pre + "0000");
          } else {
              // 查询用户所属省份
              province = AREA.get(idCard.substring(0, 2) + "0000");
              // 判断用户所属地区是否是直辖市
  
              Matcher areamM = AREA_PATTERN.matcher(province);
              StringBuilder sb = new StringBuilder();
              if (!areamM.matches()) {
                  // 不是直辖市，加上用户所属市区名
                  sb.append(AREA.get(idCard.substring(0, 4) + "00"));
              }
  
              sb.append(AREA.get(idCard.substring(0, 6)));
              // 用户的地址
              area = sb.toString();
          }
          return area;
      }
docs: 获取用户所属县市
  
  @param idCard 用户身份证号
  @return 用户所属县市