18为身份证号码的第17位数字表示性别:奇数表示男性,偶数表示女性
创新互联专业为企业提供沁水网站建设、沁水做网站、沁水网站设计、沁水网站制作等企业网站建设、网页设计与制作、沁水企业网站模板建站服务,十多年沁水做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
所有代码中,只要截取出第17位的数字出来就可以判断性别,如:
String sex;
// 判断性别
if (Integer.parseInt(CardCode.substring(16).substring(0, 1)) % 2 == 0) {
sex = "女";
} else {
sex = "男";
}
import java.util.*;
public class Identity{
public static void main(String args[]){
Scanner s=new Scanner(System.in);
System.out.print("请输入你的身份证号码(必须为数字或x):");
String l=s.nextLine();
if(l=="")
{
System.out.print("身份证号码不能为空!");
}
else if(l.length()19l.length()17)
{
System.out.print("你输入的18为身份证号码为:"+l);
}
else
{
System.out.print("你输入的身份证位数不正确!");
}
}
}
上面代码,可以运行成功,功能:1、判断是否有输入;2、只有输入18为号码才提示输入正确的信息,否则提示输入有误。没有加注释,希望对你有帮助,有问题请追加哦。
给你抽了个方法!只做了最基本的校验
/**
*
@param
cardNum
身份证号
*/
public
void
getBornDate(String
cardNum)
{
//做最基础的校验,正则校验略去
if(cardNum==null||cardNum.length()!=18)
{
System.out.println("您输入的证件号不合法");
return;
}
cardNum
=
cardNum.substring(6,14);
System.out.println(cardNum.substring(0,4)+"年"+cardNum.substring(4,6)+"月"+cardNum.substring(6)+"日");
}
import java.util.*;
public class Yugi{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("输入身份证号码: ");
String code = scan.nextLine().trim();
scan.close();
String reg = "^(.{6})(.{4})(.{2}).*$";
String a = code.replaceAll(reg, "$1");
String y = code.replaceAll(reg, "$2");
String m = code.replaceAll(reg, "$3");
System.out.println("所在地区代码:" + a);
System.out.println("出生年月: " + y + ", " + m);
}
}