Java 如何取身份证的后6位数字 如果最后一位是字母则略过字母取后六位数字

Java 如何取身份证的后6位数字 如果最后一位是字母则略过字母取后六位数字

4个回答

public class IDTest{
public static void main(String[] args) {
String id = "22010419730215443X";

    System.out.println("Hello World!"+new IDTest().getId(id));
}
public String getId(String id){
    Pattern p = Pattern.compile("[0-9]+[X|x]{1}");
    Matcher m = p.matcher(id);
    boolean b = m.matches();
    if(b){
        id = id.substring(id.length()-7,id.length()-1); 
    }else{
        id = id.substring(id.length()-6);
    }
    return id;
}

}

dbh0512
猴王牌 关于表达式怎么写才能限制任何字母呢
大约 8 年之前 回复

这个还是去百度提问比较好,

[code="java"]
Pattern pattern = Pattern.compile("(\d{6})[a-zA-Z]?$");
Matcher matcher = pattern.matcher("439006199005140025A");
while(matcher.find()){
System.out.println(matcher.group(1));
}
[/code]

[code="java"]
String id = "35692319910426032a";
String lastWord = id.substring(id.length()-1);
String reg = "[a-zA-Z]";
if(lastWord.matches(reg)){
String s = id.substring(id.length()-7, id.length()-1);
System.out.println("略过字母:"+s);
}else{
System.out.println(id.substring(id.length()-6));
}
[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐