您的位置:

身份证规则验证java代码,java 身份证号验证

本文目录一览:

java代码怎么校验身份证号码含有非法字符

如果只要判断有非法的字符(除0-9和Xx外)可用正则表达式publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereStrings="2142213weqrwe32";StringregEx="[^0-9Xx]";Patternpat=Pattern.compile(regEx);Matchermat=pat.matcher(s);booleanrs=mat.find();if(rs){System.out.print("有非法字符");}另外,校验身份证号码有专门程序的,可直接校验身份证号是否正确,在自己在网上找下

使用java判断输入身份证号位数是否正确?判断输入是否有效?

public static void getString(){\x0d\x0a String a,b;\x0d\x0a while (true) {\x0d\x0a Scanner input = new Scanner(System.in);\x0d\x0a System.out.println("请输入您的18位身份证号码!!");\x0d\x0a a = (String) input.next();\x0d\x0a if (a.length() == 18) {\x0d\x0a a.matches("/D");\x0d\x0a b = a.substring(6, 14);\x0d\x0a System.out.println("请的出生日期为:" + b);\x0d\x0a if(a.charAt(16)%2 == 0)\x0d\x0a {\x0d\x0a System.out.println("您的性别是女性!");\x0d\x0a }else{\x0d\x0a System.out.println("您的性别是男性!");\x0d\x0a }\x0d\x0a } else {\x0d\x0a System.out.println("您输入的身份证错误!!");\x0d\x0a }\x0d\x0a }\x0d\x0a }

java字符串操作,验证输入的身份证合法与否

/**

* 定义一个方法,输入一个身份证号码(18)位,最终返回一个字符串,格式如下:“尊敬的男士(女士),您是****年**月**日出生的。”

* 要求:如果输入的身份证不是18位,或者格式不正确(包含非数字字符,除了最后一位的X除外)则返回一个字符串“您输入的身份证号码有误”

* */

import java.util.Scanner;

public class JudgeID {

public static void main(String[] args){

Scanner reader = new Scanner(System.in);

System.out.println("请输入您的id号码");

String id = reader.next();

System.out.println(judgeID(id));

}

public static String judgeID(String IDNumber){

int len = IDNumber.length();

String wrongMsg = "您输入的身份证号有误";

String correctMsg = null;

char lastChar = IDNumber.charAt(len-1);

String year = null;

String month = null;

String day = null;

if(len != 18){

return wrongMsg;

}

for(int i = 0; i len-1; i++){

if(IDNumber.charAt(i) '0' || IDNumber.charAt(i) '9' ){

return wrongMsg;

}

}

if(lastChar != 'X' lastChar '0' lastChar '9'){

return wrongMsg;

}

//如果身份证格式是没有问题的,那个打印年月日信息

year = IDNumber.substring(6,10);

month = IDNumber.substring(10,12);

day = IDNumber.substring(12,14);

correctMsg = "您是"+year+"年"+month+"月"+day+"日出生!";

return correctMsg;

}

}