Java正则表达式

在项目的过程中正则的判断是必不可少的一部分,一下跟大家分享一些心得:

/**
	 * 检验手机合格性
	 * @param phoneNum
	 * @return
	 */			
	public static boolean isPhoneNum(String phoneNum){
//		Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
		if(phoneNum == null)
			return false;
		
		Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
		Matcher m = p.matcher(phoneNum);
		boolean b = m.matches();   
		if(b) {   
			return true;
		}else{
			return false;
		}
	}
	
	/**
	 * 检测密码的合格性6-20个英文字符和数字
	 * @param pwd
	 * @return
	 */
	public static boolean isPWD(String pwd){
		
		if(pwd == null)
			return false;
		
		Pattern p = Pattern.compile("^[a-zA-Z0-9]{6,19}$");
		Matcher m = p.matcher(pwd);
		boolean b = m.matches();   
		if(b) {   
			return true;
		}else{
			return false;
		}
	}

	/**
	 * 检验email合格性
	 * @param email
	 * @return
	 */
	public static boolean isEmail(String email){
		
		if(email == null)
			return false;
		
		Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
		Matcher m = p.matcher(email);
		boolean b = m.matches();   
		if(b) {   
			return true;
		}else{
			return false;
		}
	}
	
	/**
	 * 只含有汉字、数字、字母、下划线,并且不能以下划线开头和结尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$
	 * @param name
	 * @return
	 */
	public static Boolean isName(String name){
		if(name == null){
			return false;
		}
		Pattern p = Pattern.compile("^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$");
		Matcher m = p.matcher(name);
		boolean b = m.matches();   
		if(b) {   
			return true;
		}else{
			return false;
		}
	}


你可能感兴趣的:(Java正则表达式)