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

来源:互联网 发布:html5网页源码模板 编辑:程序博客网 时间:2024/05/22 01:35
/**
 * 定义一个方法,输入一个身份证号码(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;}}


0 0
原创粉丝点击