一、需求和算法

  1. 需求

    1. 使用 Java 中 util 包通过键盘输入身份证号。
    2. 使用算法校验身份证号是否合法。
    3. 根据身份证号获取用户出生地。
    4. 根据身份证号获取用户生日。
    5. 根据身份证号获取用户性别。
    6. 打印出生地、生日、性别。
  2. 算法

    1. 取出身份证号前 17 位与指定系数相乘。系数表如下:

    2. 把相乘的结果累加起来。

    3. 用累加结果对 11 求余。

    4. 根据余数对应下表找到身份证号的末尾数。

    5. 判断用户输入的身份证号最后一位与余数对应的尾数是否相等。若相等表示输入的身份证号无误。反之有误。

    6. 参考文献

二、键盘输入:

  1. 代码:

    import java.util.*;
    public class IdNumber {public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();System.out.println("您的身份证号为:" + idNumber);}
    }
    
  2. 运行结果:

三、处理末尾数为 x 的身份证号

  1. 代码:

    import java.util.*;
    public class IdNumber {public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();// 处理最后一位为 x 的情况,小写转大写idNumber = idNumber.toUpperCase();System.out.println("您的身份证号为:" + idNumber);}
    }
    
  2. 运行结果:

四、校验身份证号

  1. 定义字符串截取函数

    1. 代码:

      import java.util.*;
      public class IdNumber {// 入口public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();// 处理最后一位为 x 的情况,小写转大写idNumber = idNumber.toUpperCase();// 测试代码System.out.println("您的身份证号前六位:" + getStr(idNumber,0,5));}// 截取字符串的方法public static String getStr(String str,int a,int b){b++;return str.substring(a,b);}}
      
    2. 运行结果:

  2. 定义校验函数

    1. 代码:

      import java.util.*;
      public class IdNumber {// 入口public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();// 处理最后一位为 x 的情况,小写转大写idNumber = idNumber.toUpperCase();// 判断身份证号是否合法Boolean idLegit = judgeId(idNumber);System.out.println(idLegit);}// 判断身份证号是否合法public static Boolean judgeId(String id){Boolean result = true;// 长度不等于 18 位if(id.length() != 18) return false;// 系数算法String tempId = getStr(id,0,16);int[] coeff = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};char[] end = {'1','0','X','9','8','7','6','5','4','3','2'};int sum = 0;for (int i = 0; i < tempId.length(); i++){int bye = tempId.charAt(i) - '0';sum += bye * coeff[i];}sum %= 11;if(end[sum] != getStr(id,17,17).charAt(0)) result = false;return result;}// 截取字符串的方法public static String getStr(String str,int a,int b){b++;return str.substring(a,b);}}
      
    2. 运行结果:

五、获取地址信息

  1. 定义函数:

    import java.util.*;
    public class IdNumber {// 入口public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();// 处理最后一位为 x 的情况,小写转大写idNumber = idNumber.toUpperCase();// 判断身份证号是否合法Boolean idLegit = judgeId(idNumber);if(idLegit){String address = getAddress(getStr(idNumber,0,5));System.out.println("您的居住地:" + address);}else System.out.println("身份证号有误!请重启程序");}// 判断身份证号是否合法public static Boolean judgeId(String id){Boolean result = true;// 长度不等于 18 位if(id.length() != 18) return false;// 系数算法String tempId = getStr(id,0,16);int[] coeff = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};char[] end = {'1','0','X','9','8','7','6','5','4','3','2'};int sum = 0;for (int i = 0; i < tempId.length(); i++){int bye = tempId.charAt(i) - '0';sum += bye * coeff[i];}sum %= 11;if(end[sum] != getStr(id,17,17).charAt(0)) result = false;return result;}// 截取字符串的方法public static String getStr(String str,int a,int b){b++;return str.substring(a,b);}// 获取地址信息public static String getAddress(String num){String str0 = getStr(num,0,1);String str1 = getStr(num,2,3);String str2 = getStr(num,4,5);String address = "";switch (str0){case "11":address += "北京-";break;case "12":address += "天津-";break;case "13":address += "河北-";break;case "14":address += "山西-";break;case "15":address += "内蒙古自治区-";switch (str1){case "01":address += "呼和浩特市-";switch (str2){case "02":address += "新城区";break;case "03":address += "回民区";break;case "04":address += "玉泉区";break;case "05":address += "赛罕区";break;case "21":address += "土默特左旗";break;case "22":address += "托克托县";break;case "23":address += "和林格尔县";break;case "24":address += "清水河县";break;case "25":address += "武川县";break;}break;case "02":address += "包头市-";switch (str2){case "02":address += "东河区";break;case "03":address += "昆都仓区";break;case "04":address += "青山区";break;case "05":address += "石拐区";break;case "06":address += "白云鄂博矿区";break;case "07":address += "九原区";break;case "21":address += "土默特右旗";break;case "22":address += "固阳县";break;case "23":address += "达尔罕茂明安联合旗";break;}break;case "03":address += "乌海市-";switch (str2){case "02":address += "海勃湾区";break;case "03":address += "海南区";break;case "04":address += "乌达区";break;}break;case "04":address += "赤峰市-";switch (str2){case "02":address += "红山区";break;case "03":address += "元宝山区";break;case "04":address += "松山区";break;case "21":address += "阿鲁科尔沁旗";break;case "22":address += "巴林左旗";break;case "23":address += "巴林右旗";break;case "24":address += "林西县";break;case "25":address += "克什克腾旗";break;case "26":address += "翁牛特旗";break;case "28":address += "喀喇沁旗";break;case "29":address += "宁城县";break;case "30":address += "敖汉旗";break;}break;case "05":address += "通辽市-";switch (str2){case "02":address += "科尔沁区";break;case "21":address += "科左中旗";break;case "22":address += "科尔沁右翼后旗";break;case "23":address += "开鲁县";break;case "24":address += "库论县";break;case "25":address += "奈曼旗";break;case "26":address += "扎鲁特旗";break;case "81":address += "霍林郭勒市";break;}break;case "06":address += "鄂尔多斯市-";switch (str2){case "02":address += "东胜区";break;case "21":address += "达拉特旗";break;case "22":address += "准格尔旗";break;case "23":address += "鄂托克前旗";break;case "24":address += "鄂托克旗";break;case "25":address += "杭锦旗";break;case "26":address += "乌审旗";break;case "27":address += "伊金霍洛旗";break;}break;case "07":address += "呼伦贝尔市-";switch (str2){case "02":address += "海拉尔区";break;case "21":address += "阿荣旗";break;case "22":address += "莫旗";break;case "23":address += "鄂伦春旗";break;case "24":address += "鄂温克族旗";break;case "25":address += "陈巴尔虎旗";break;case "26":address += "新巴尔虎左旗";break;case "27":address += "新巴尔虎右旗";break;case "81":address += "满洲里市";break;case "82":address += "牙克石市";break;case "83":address += "扎兰屯市";break;case "84":address += "额尔古纳市";break;case "85":address += "根河市";break;}break;case "08":address += "巴彦淖尔市-";switch (str2){case "02":address += "临河区";break;case "21":address += "五原县";break;case "22":address += "磴口县";break;case "23":address += "乌拉特前旗";break;case "24":address += "乌拉特中旗";break;case "25":address += "乌拉特后旗";break;case "26":address += "杭锦后旗";break;}break;case "09":address += "乌兰察布市-";switch (str2){case "02":address += "集宁区";break;case "21":address += "卓资县";break;case "22":address += "化德县";break;case "23":address += "商都县";break;case "24":address += "兴和县";break;case "25":address += "凉城县";break;case "26":address += "察哈尔右翼前旗";break;case "27":address += "察哈尔右翼中旗";break;case "28":address += "察哈尔右翼后旗";break;case "29":address += "四子王旗";break;case "81":address += "丰镇市";break;}break;case "22":address += "兴安盟-";switch (str2){case "01":address += "乌兰浩特市";break;case "02":address += "阿尔山市";break;case "21":address += "科尔沁右翼前旗";break;case "22":address += "科尔沁右翼中旗";break;case "23":address += "扎赉特旗";break;case "24":address += "突泉县";break;}break;case "25":address += "锡林郭勒盟-";switch (str2){case "01":address += "二连浩特市";break;case "02":address += "锡林浩特市";break;case "22":address += "阿巴嘎旗";break;case "23":address += "苏尼特左旗";break;case "24":address += "苏尼特右旗";break;case "25":address += "东乌珠穆沁旗";break;case "26":address += "西乌珠穆沁旗";break;case "27":address += "太仆寺旗";break;case "28":address += "镶黄旗";break;case "29":address += "正镶白旗";break;case "30":address += "正蓝旗";break;case "31":address += "多伦县";break;}break;case "29":address += "阿拉善盟-";switch (str2){case "21":address += "阿拉善左旗";break;case "22":address += "阿拉善右旗";break;case "23":address += "额济纳旗";break;}break;}break;case "21":address += "辽宁-";break;case "22":address += "吉林-";break;case "23":address += "黑龙江-";break;case "31":address += "上海-";break;case "32":address += "江苏-";break;case "33":address += "浙江-";break;case "34":address += "安徽-";break;case "35":address += "福建-";break;case "36":address += "江西-";break;case "37":address += "山东-";break;case "41":address += "河南-";break;case "42":address += "湖北-";break;case "43":address += "湖南-";break;case "44":address += "广西-";break;case "45":address += "广东-";break;case "46":address += "海南-";break;case "50":address += "重庆-";break;case "51":address += "四川-";break;case "52":address += "贵州-";break;case "53":address += "云南-";break;case "54":address += "西藏-";break;case "61":address += "陕西-";break;case "62":address += "甘肃-";break;case "63":address += "青海-";break;case "64":address += "宁夏-";break;case "65":address += "新疆-";break;case "71":address += "台湾-";break;case "81":address += "香港-";break;case "82":address += "澳门-";break;}return address;}}
    
  2. 运行结果:

六、获取生日信息

  1. 代码:

    import java.util.*;
    public class IdNumber {// 入口public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();// 处理最后一位为 x 的情况,小写转大写idNumber = idNumber.toUpperCase();// 判断身份证号是否合法Boolean idLegit = judgeId(idNumber);if(idLegit){String address = getAddress(getStr(idNumber,0,5));String birthday = getBirthday(getStr(idNumber,6,13));System.out.println("您的居住地:" + address);System.out.println("您的生日:" + birthday);}else System.out.println("身份证号有误!请重启程序");}// 判断身份证号是否合法public static Boolean judgeId(String id){Boolean result = true;// 长度不等于 18 位if(id.length() != 18) return false;// 系数算法String tempId = getStr(id,0,16);int[] coeff = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};char[] end = {'1','0','X','9','8','7','6','5','4','3','2'};int sum = 0;for (int i = 0; i < tempId.length(); i++){int bye = tempId.charAt(i) - '0';sum += bye * coeff[i];}sum %= 11;if(end[sum] != getStr(id,17,17).charAt(0)) result = false;return result;}// 截取字符串的方法public static String getStr(String str,int a,int b){b++;return str.substring(a,b);}// 获取地址信息public static String getAddress(String num){String str0 = getStr(num,0,1);String str1 = getStr(num,2,3);String str2 = getStr(num,4,5);String address = "";switch (str0){case "11":address += "北京-";break;case "12":address += "天津-";break;case "13":address += "河北-";break;case "14":address += "山西-";break;case "15":address += "内蒙古自治区-";switch (str1){case "01":address += "呼和浩特市-";switch (str2){case "02":address += "新城区";break;case "03":address += "回民区";break;case "04":address += "玉泉区";break;case "05":address += "赛罕区";break;case "21":address += "土默特左旗";break;case "22":address += "托克托县";break;case "23":address += "和林格尔县";break;case "24":address += "清水河县";break;case "25":address += "武川县";break;}break;case "02":address += "包头市-";switch (str2){case "02":address += "东河区";break;case "03":address += "昆都仓区";break;case "04":address += "青山区";break;case "05":address += "石拐区";break;case "06":address += "白云鄂博矿区";break;case "07":address += "九原区";break;case "21":address += "土默特右旗";break;case "22":address += "固阳县";break;case "23":address += "达尔罕茂明安联合旗";break;}break;case "03":address += "乌海市-";switch (str2){case "02":address += "海勃湾区";break;case "03":address += "海南区";break;case "04":address += "乌达区";break;}break;case "04":address += "赤峰市-";switch (str2){case "02":address += "红山区";break;case "03":address += "元宝山区";break;case "04":address += "松山区";break;case "21":address += "阿鲁科尔沁旗";break;case "22":address += "巴林左旗";break;case "23":address += "巴林右旗";break;case "24":address += "林西县";break;case "25":address += "克什克腾旗";break;case "26":address += "翁牛特旗";break;case "28":address += "喀喇沁旗";break;case "29":address += "宁城县";break;case "30":address += "敖汉旗";break;}break;case "05":address += "通辽市-";switch (str2){case "02":address += "科尔沁区";break;case "21":address += "科左中旗";break;case "22":address += "科尔沁右翼后旗";break;case "23":address += "开鲁县";break;case "24":address += "库论县";break;case "25":address += "奈曼旗";break;case "26":address += "扎鲁特旗";break;case "81":address += "霍林郭勒市";break;}break;case "06":address += "鄂尔多斯市-";switch (str2){case "02":address += "东胜区";break;case "21":address += "达拉特旗";break;case "22":address += "准格尔旗";break;case "23":address += "鄂托克前旗";break;case "24":address += "鄂托克旗";break;case "25":address += "杭锦旗";break;case "26":address += "乌审旗";break;case "27":address += "伊金霍洛旗";break;}break;case "07":address += "呼伦贝尔市-";switch (str2){case "02":address += "海拉尔区";break;case "21":address += "阿荣旗";break;case "22":address += "莫旗";break;case "23":address += "鄂伦春旗";break;case "24":address += "鄂温克族旗";break;case "25":address += "陈巴尔虎旗";break;case "26":address += "新巴尔虎左旗";break;case "27":address += "新巴尔虎右旗";break;case "81":address += "满洲里市";break;case "82":address += "牙克石市";break;case "83":address += "扎兰屯市";break;case "84":address += "额尔古纳市";break;case "85":address += "根河市";break;}break;case "08":address += "巴彦淖尔市-";switch (str2){case "02":address += "临河区";break;case "21":address += "五原县";break;case "22":address += "磴口县";break;case "23":address += "乌拉特前旗";break;case "24":address += "乌拉特中旗";break;case "25":address += "乌拉特后旗";break;case "26":address += "杭锦后旗";break;}break;case "09":address += "乌兰察布市-";switch (str2){case "02":address += "集宁区";break;case "21":address += "卓资县";break;case "22":address += "化德县";break;case "23":address += "商都县";break;case "24":address += "兴和县";break;case "25":address += "凉城县";break;case "26":address += "察哈尔右翼前旗";break;case "27":address += "察哈尔右翼中旗";break;case "28":address += "察哈尔右翼后旗";break;case "29":address += "四子王旗";break;case "81":address += "丰镇市";break;}break;case "22":address += "兴安盟-";switch (str2){case "01":address += "乌兰浩特市";break;case "02":address += "阿尔山市";break;case "21":address += "科尔沁右翼前旗";break;case "22":address += "科尔沁右翼中旗";break;case "23":address += "扎赉特旗";break;case "24":address += "突泉县";break;}break;case "25":address += "锡林郭勒盟-";switch (str2){case "01":address += "二连浩特市";break;case "02":address += "锡林浩特市";break;case "22":address += "阿巴嘎旗";break;case "23":address += "苏尼特左旗";break;case "24":address += "苏尼特右旗";break;case "25":address += "东乌珠穆沁旗";break;case "26":address += "西乌珠穆沁旗";break;case "27":address += "太仆寺旗";break;case "28":address += "镶黄旗";break;case "29":address += "正镶白旗";break;case "30":address += "正蓝旗";break;case "31":address += "多伦县";break;}break;case "29":address += "阿拉善盟-";switch (str2){case "21":address += "阿拉善左旗";break;case "22":address += "阿拉善右旗";break;case "23":address += "额济纳旗";break;}break;}break;case "21":address += "辽宁-";break;case "22":address += "吉林-";break;case "23":address += "黑龙江-";break;case "31":address += "上海-";break;case "32":address += "江苏-";break;case "33":address += "浙江-";break;case "34":address += "安徽-";break;case "35":address += "福建-";break;case "36":address += "江西-";break;case "37":address += "山东-";break;case "41":address += "河南-";break;case "42":address += "湖北-";break;case "43":address += "湖南-";break;case "44":address += "广西-";break;case "45":address += "广东-";break;case "46":address += "海南-";break;case "50":address += "重庆-";break;case "51":address += "四川-";break;case "52":address += "贵州-";break;case "53":address += "云南-";break;case "54":address += "西藏-";break;case "61":address += "陕西-";break;case "62":address += "甘肃-";break;case "63":address += "青海-";break;case "64":address += "宁夏-";break;case "65":address += "新疆-";break;case "71":address += "台湾-";break;case "81":address += "香港-";break;case "82":address += "澳门-";break;}return address;}// 获取生日信息public static String getBirthday(String num){String y = getStr(num,0,3);String m = getStr(num,4,5);String d = getStr(num,6,7);return y + "-" + m + "-" + d;}}
    
  2. 运行结果:

七、获取性别信息

  1. 代码:

    import java.util.*;
    public class IdNumber {// 入口public static void main(String[] args) {// 键盘输入身份证号Scanner scanner = new Scanner(System.in);System.out.println("请输入您的身份证号:");String idNumber = scanner.nextLine();// 处理最后一位为 x 的情况,小写转大写idNumber = idNumber.toUpperCase();// 判断身份证号是否合法Boolean idLegit = judgeId(idNumber);if(idLegit){String address = getAddress(getStr(idNumber,0,5));String birthday = getBirthday(getStr(idNumber,6,13));String gender = getGender(getStr(idNumber,16,16));System.out.println("您的居住地:" + address);System.out.println("您的生日:" + birthday);System.out.println("您的性别:" + gender);}else System.out.println("身份证号有误!请重启程序");}// 判断身份证号是否合法public static Boolean judgeId(String id){Boolean result = true;// 长度不等于 18 位if(id.length() != 18) return false;// 系数算法String tempId = getStr(id,0,16);int[] coeff = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};char[] end = {'1','0','X','9','8','7','6','5','4','3','2'};int sum = 0;for (int i = 0; i < tempId.length(); i++){int bye = tempId.charAt(i) - '0';sum += bye * coeff[i];}sum %= 11;if(end[sum] != getStr(id,17,17).charAt(0)) result = false;return result;}// 截取字符串的方法public static String getStr(String str,int a,int b){b++;return str.substring(a,b);}// 获取地址信息public static String getAddress(String num){String str0 = getStr(num,0,1);String str1 = getStr(num,2,3);String str2 = getStr(num,4,5);String address = "";switch (str0){case "11":address += "北京-";break;case "12":address += "天津-";break;case "13":address += "河北-";break;case "14":address += "山西-";break;case "15":address += "内蒙古自治区-";switch (str1){case "01":address += "呼和浩特市-";switch (str2){case "02":address += "新城区";break;case "03":address += "回民区";break;case "04":address += "玉泉区";break;case "05":address += "赛罕区";break;case "21":address += "土默特左旗";break;case "22":address += "托克托县";break;case "23":address += "和林格尔县";break;case "24":address += "清水河县";break;case "25":address += "武川县";break;}break;case "02":address += "包头市-";switch (str2){case "02":address += "东河区";break;case "03":address += "昆都仓区";break;case "04":address += "青山区";break;case "05":address += "石拐区";break;case "06":address += "白云鄂博矿区";break;case "07":address += "九原区";break;case "21":address += "土默特右旗";break;case "22":address += "固阳县";break;case "23":address += "达尔罕茂明安联合旗";break;}break;case "03":address += "乌海市-";switch (str2){case "02":address += "海勃湾区";break;case "03":address += "海南区";break;case "04":address += "乌达区";break;}break;case "04":address += "赤峰市-";switch (str2){case "02":address += "红山区";break;case "03":address += "元宝山区";break;case "04":address += "松山区";break;case "21":address += "阿鲁科尔沁旗";break;case "22":address += "巴林左旗";break;case "23":address += "巴林右旗";break;case "24":address += "林西县";break;case "25":address += "克什克腾旗";break;case "26":address += "翁牛特旗";break;case "28":address += "喀喇沁旗";break;case "29":address += "宁城县";break;case "30":address += "敖汉旗";break;}break;case "05":address += "通辽市-";switch (str2){case "02":address += "科尔沁区";break;case "21":address += "科左中旗";break;case "22":address += "科尔沁右翼后旗";break;case "23":address += "开鲁县";break;case "24":address += "库论县";break;case "25":address += "奈曼旗";break;case "26":address += "扎鲁特旗";break;case "81":address += "霍林郭勒市";break;}break;case "06":address += "鄂尔多斯市-";switch (str2){case "02":address += "东胜区";break;case "21":address += "达拉特旗";break;case "22":address += "准格尔旗";break;case "23":address += "鄂托克前旗";break;case "24":address += "鄂托克旗";break;case "25":address += "杭锦旗";break;case "26":address += "乌审旗";break;case "27":address += "伊金霍洛旗";break;}break;case "07":address += "呼伦贝尔市-";switch (str2){case "02":address += "海拉尔区";break;case "21":address += "阿荣旗";break;case "22":address += "莫旗";break;case "23":address += "鄂伦春旗";break;case "24":address += "鄂温克族旗";break;case "25":address += "陈巴尔虎旗";break;case "26":address += "新巴尔虎左旗";break;case "27":address += "新巴尔虎右旗";break;case "81":address += "满洲里市";break;case "82":address += "牙克石市";break;case "83":address += "扎兰屯市";break;case "84":address += "额尔古纳市";break;case "85":address += "根河市";break;}break;case "08":address += "巴彦淖尔市-";switch (str2){case "02":address += "临河区";break;case "21":address += "五原县";break;case "22":address += "磴口县";break;case "23":address += "乌拉特前旗";break;case "24":address += "乌拉特中旗";break;case "25":address += "乌拉特后旗";break;case "26":address += "杭锦后旗";break;}break;case "09":address += "乌兰察布市-";switch (str2){case "02":address += "集宁区";break;case "21":address += "卓资县";break;case "22":address += "化德县";break;case "23":address += "商都县";break;case "24":address += "兴和县";break;case "25":address += "凉城县";break;case "26":address += "察哈尔右翼前旗";break;case "27":address += "察哈尔右翼中旗";break;case "28":address += "察哈尔右翼后旗";break;case "29":address += "四子王旗";break;case "81":address += "丰镇市";break;}break;case "22":address += "兴安盟-";switch (str2){case "01":address += "乌兰浩特市";break;case "02":address += "阿尔山市";break;case "21":address += "科尔沁右翼前旗";break;case "22":address += "科尔沁右翼中旗";break;case "23":address += "扎赉特旗";break;case "24":address += "突泉县";break;}break;case "25":address += "锡林郭勒盟-";switch (str2){case "01":address += "二连浩特市";break;case "02":address += "锡林浩特市";break;case "22":address += "阿巴嘎旗";break;case "23":address += "苏尼特左旗";break;case "24":address += "苏尼特右旗";break;case "25":address += "东乌珠穆沁旗";break;case "26":address += "西乌珠穆沁旗";break;case "27":address += "太仆寺旗";break;case "28":address += "镶黄旗";break;case "29":address += "正镶白旗";break;case "30":address += "正蓝旗";break;case "31":address += "多伦县";break;}break;case "29":address += "阿拉善盟-";switch (str2){case "21":address += "阿拉善左旗";break;case "22":address += "阿拉善右旗";break;case "23":address += "额济纳旗";break;}break;}break;case "21":address += "辽宁-";break;case "22":address += "吉林-";break;case "23":address += "黑龙江-";break;case "31":address += "上海-";break;case "32":address += "江苏-";break;case "33":address += "浙江-";break;case "34":address += "安徽-";break;case "35":address += "福建-";break;case "36":address += "江西-";break;case "37":address += "山东-";break;case "41":address += "河南-";break;case "42":address += "湖北-";break;case "43":address += "湖南-";break;case "44":address += "广西-";break;case "45":address += "广东-";break;case "46":address += "海南-";break;case "50":address += "重庆-";break;case "51":address += "四川-";break;case "52":address += "贵州-";break;case "53":address += "云南-";break;case "54":address += "西藏-";break;case "61":address += "陕西-";break;case "62":address += "甘肃-";break;case "63":address += "青海-";break;case "64":address += "宁夏-";break;case "65":address += "新疆-";break;case "71":address += "台湾-";break;case "81":address += "香港-";break;case "82":address += "澳门-";break;}return address;}// 获取生日信息public static String getBirthday(String num){String y = getStr(num,0,3);String m = getStr(num,4,5);String d = getStr(num,6,7);return y + "-" + m + "-" + d;}// 获取性别信息public static String getGender(String num){int gendetNum = num.charAt(0) - '0';return gendetNum % 2 == 0 ? "女" : "男";}}
    
  2. 运行结果:

Java验证身份证号相关推荐

  1. Java验证身份证号是否合法

    身份证作为居民的唯一标识.在很多系统中需要用户输入身份证号信息,今天我们就来编写一个方法验证身份证号的合法性. 首先我们来看看身份证号的编码规则: 前1-2位数字表示:所在省(直辖市.自治区)的代码: ...

  2. java验证身份证号格式

    //15位到18位的身份证号 public static boolean checkIdCard(String idCard) { String regex = "^[1-9]\\d{7}( ...

  3. Java验证身份证号码及提取生日信息

    Java学习第一站,导师给布置的作业题,验证身份证号码的合法性并提取生日信息.第一次写Java代码,第一次用博客记录学习进程,略紧张,对Java变量的命名还停留在C++的命名法阶段,吼吼~~现在开始正 ...

  4. 用java根据身份证号提取性别和年龄

    在 Java 中,可以使用以下步骤来提取身份证号中的性别和年龄信息: 使用正则表达式验证身份证号的格式是否正确. 如果身份证号的格式正确,则可以使用截取字符串的方法来提取出生日期信息.身份证号中的出生 ...

  5. 学以致用——Java验证身份证号码是否正确(带校验算法)

    需求: 验证身份证号码是否正确(带校验算法) 源码: package javaCoreTech1; import java.io.BufferedReader; import java.io.IOEx ...

  6. js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)...

    js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...

  7. java验证身份证号码是否有效源代码

    转载自   java验证身份证号码是否有效源代码 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 package test; import java.t ...

  8. python之验证身份证号合法性的库:id_validator

    上个星期,大佬分享了一个验证身份证号合法性的库:id_validator,没空去试着用一下看看,今天有点时间,来试着用下这个库. 1.首先,要安装这个库,windows+R键运行cmd,打开命令行窗口 ...

  9. 今天写了个自定义函数验证身份证号是否符合规则

    大家好,我是老王.今天调了半天,报了各种错误,终于写好了这个验证身份证号的自定义函数,规则可以参考身份证号码的编排规则 CREATE OR REPLACE FUNCTION LAOWANG_CHECK ...

  10. 用python判断身份证号性别_验证身份证号的Python脚本

    引用 a[0], a[1], a[2], a[3], ..., a[16], a[17] 其中a[i]表示第i位数字,i=0,1,2,...,17,如果最后一位(校验位)是X,则a[17]=10 每一 ...

最新文章

  1. python 线程死锁_python线程死锁与递归锁
  2. 用decimal模块增加python的浮点数精度
  3. new JSONArray(ListMap).tostring()问题
  4. android 图片跑马灯动画,ImageView 图片循环跑马灯的效果
  5. 软工实践-第二次会议
  6. CRF++总结 (1)(2)【转】
  7. R语言访问mysql和posqlgresql
  8. Linux valgrind java_Ubuntu下使用valgrind所遇问题
  9. HDU 1512 Monkey King(左偏树模板题)
  10. 科学计算机算度数,计算器问题科学计算器有分角度制和弧度制,身 – 手机爱问...
  11. 百度文库免费复制文字_百度文库免费下载Word全方案
  12. 舞蹈课(dance.cpp/c/pas)
  13. vbscript错误代码及对应解释大全
  14. 济南86公里综合管廊,CBD近万地下车位已建成
  15. 事件分发(EventDispatcher)模式
  16. 5个步骤做好会议复盘工作
  17. word对齐表格不在一行的文字
  18. 厦门考计算机竞赛保送北大清华名单,厦门这所学校130人获清华北大等名校保送资格...
  19. 计算机中数值怎么比较大小,数值比较器,数值比较器的作用和原理是什么?
  20. 3dTile技术研究-概念详述(5)

热门文章

  1. 使用tensorflow2.0搭建DCGAN网络生成卡通 头像
  2. 国产哈希算法WJLHA(六):自定义哈希长度的WJLHA3开源(JAVASCRIPT)
  3. 20189320《网络攻防》第八周作业
  4. Qt for Mac苹果开发中,使用Apple Developer文档
  5. Layer 开启与关闭加载层
  6. Linux配置http代理(原理)
  7. Linux系统下如何显示隐藏文件
  8. 【读书笔记】马化腾:先人一步-冷湖,腾讯成长之路:模仿+学习+实践+创新+合作+超越
  9. Indy TCP/IP 组件里的几个常用方法
  10. 去国外超市如何用英文表达你想要的东西?