package com.yanzuoguang.util.sfz;

import java.util.HashMap;
import java.util.Map;

/**
 * 身份证处理工具类
 *
 * @author 颜佐光
 */
public class SfzHandleUtil {
    public static Map<String, String> cityCodes = new HashMap<String, String>();
    /**
     * 身份证10处理
     */
    public static SfzHandle10 SFZ_HANDLE_10 = new SfzHandle10();
    /**
     * 身份证10处理
     */
    public static SfzHandle15 SFZ_HANDLE_15 = new SfzHandle15();
    /**
     * 身份证10处理
     */
    public static SfzHandle18 SFZ_HANDLE_18 = new SfzHandle18();
    /**
     * 身份证10处理
     */
    public static SfzHandleEn2017 SFZ_HANDLE_EN2017 = new SfzHandleEn2017();
    /**
     * 身份证10处理
     */
    public static SfzHandleEn2023 SFZ_HANDLE_EN2023 = new SfzHandleEn2023();
    /**
     * 身份证10处理
     */
    public static SfzHandleHuZhao SFZ_HANDLE_HU_ZHAO = new SfzHandleHuZhao();

    static {
        cityCodes.put("11", "北京");
        cityCodes.put("12", "天津");
        cityCodes.put("13", "河北");
        cityCodes.put("14", "山西");
        cityCodes.put("15", "内蒙古");
        cityCodes.put("21", "辽宁");
        cityCodes.put("22", "吉林");
        cityCodes.put("23", "黑龙江");
        cityCodes.put("31", "上海");
        cityCodes.put("32", "江苏");
        cityCodes.put("33", "浙江");
        cityCodes.put("34", "安徽");
        cityCodes.put("35", "福建");
        cityCodes.put("36", "江西");
        cityCodes.put("37", "山东");
        cityCodes.put("41", "河南");
        cityCodes.put("42", "湖北");
        cityCodes.put("43", "湖南");
        cityCodes.put("44", "广东");
        cityCodes.put("45", "广西");
        cityCodes.put("46", "海南");
        cityCodes.put("50", "重庆");
        cityCodes.put("51", "四川");
        cityCodes.put("52", "贵州");
        cityCodes.put("53", "云南");
        cityCodes.put("54", "西藏");
        cityCodes.put("61", "陕西");
        cityCodes.put("62", "甘肃");
        cityCodes.put("63", "青海");
        cityCodes.put("64", "宁夏");
        cityCodes.put("65", "新疆");
        cityCodes.put("71", "台湾");
        cityCodes.put("81", "香港");
        cityCodes.put("82", "澳门");
        cityCodes.put("91", "国外");
    }

    /**
     * 数字验证
     *
     * @param val
     * @return 提取的数字。
     */
    public static boolean isNum(String val) {
        return val != null && !"".equals(val) && val.matches("^[0-9]*$");
    }

}