本文目錄一覽:
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;
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/249283.html