正则表达式验证手机号码和身份证号码

        public static void main(String[] args) { 
		validator("370281199411017100");
		validator("154516516516");
		phoneunique("15092426561");
		phoneunique("46846515165");

	} 
	 
	//验证手机号码
	@SuppressWarnings("unused")
	private static void phoneunique(String Phone){
		 
        String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
        if(Phone.length() != 11){
            System.out.println("手机号应为11位数");
        }else{
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(Phone);
            boolean isMatch = m.matches();
            if(isMatch){
                System.out.println("您的手机号:" + Phone + "是正确格式");
            } else {
                System.out.println("您的手机号:" + Phone + "是错误格式");
            }
        }
	}
	
	
	//验证身份证号码
	@SuppressWarnings("unused")
	private  static void  validator(String idCard) {
		Pattern pattern1 = Pattern.compile("^(\\d{6})(19|20)(\\d{2})(1[0-2]|0[1-9])(0[1-9]|[1-2][0-9]|3[0-1])(\\d{3})(\\d|X|x)?$"); //粗略的校验  
        Matcher matcher = pattern1.matcher(idCard);  
        if(matcher.matches()){  
             
            System.out.println("身份证号码:"+idCard+"身份证号码正确");
        }
        else{
        	System.out.println("身份证号码:"+idCard+"身份证号码错误");
        }
        
	}

输出结果为:



猜你喜欢

转载自blog.csdn.net/iilegend/article/details/80364806