Java常用正则工具类

  |   0 评论   |   245 浏览

    /**
    	 * 验证手机号是否合法
    	 * 
    	 * @param mobiles
    	 *            手机号码
    	 * @return
    	 */
    	public static boolean isMobileNO(String mobiles) {
    		Pattern p = Pattern
    				.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
    
    		Matcher m = p.matcher(mobiles);
    
    		System.out.println(m.matches() + "---");
    		return m.matches();
    	}
    	
    	/**
    	 * @author 郑明亮
    	 * @Email zhengmingliang911@gmail.com
    	 * @Time 2017年4月24日 上午11:51:18
    	 * @Description <p>判断是不是网址  </P>
    	 * @param url
    	 * @return
    	 */
    	public static boolean isWebUrl(String url) {
    		String patternString = "^((https|http|ftp|rtsp|mms)?://)"  
    				         + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@  
    				        + "(([0-9]{1,3}\\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184  
    				         + "|" // 允许IP和DOMAIN(域名) 
    				         + "([0-9a-z_!~*'()-]+\\.)*" // 域名- www.  
    				         + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\\." // 二级域名  
    				        + "[a-z]{2,6})" // first level domain- .com or .museum  
    				        + "(:[0-9]{1,4})?" // 端口- :80  
    				        + "((/?)|" // a slash isn't required if there is no file name  
    				       + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";  
    		Pattern p = Pattern
    				.compile(patternString);
    
    		Matcher m = p.matcher(url);
    
    		System.out.println(m.matches() + "---");
    		return m.matches();
    	}
    
    	/**
    	 * 校验邮箱是否合法
    	 * 
    	 * @param s
    	 *            传入的邮箱字符串
    	 * @return
    	 */
    	public static boolean isEmail1(String s) {
    		Pattern pattern = Pattern
    				.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
    		Matcher matcher = pattern.matcher(s);
    		return matcher.matches();
    	}
    
    	/**
    	 * Android 工具包自带验证Email方法
    	 * 
    	 * @param email
    	 * @return
    	 */
    	public static boolean isEmail2(String email) {
    
    		return EMAIL_ADDRESS.matcher(email).matches();
    	}
    	
    	/**
    	 * @author 郑明亮
    	 * @Time 2017年3月13日 下午6:48:31
    	 * @Description <p> 是否全是中文  </p>
    	 * @param text 
    	 * @return {@code true}全是中文 <br>   {@code false} 不全是中文、或不是中文
    	 */
    	public static boolean isChinessOnly(String text) {
    
    		return PATTERN_IS_CHICHNESS.matcher(text).matches();
    	}
    	
    	/**
    	 * @author 郑明亮
    	 * @Time 2017年3月13日 下午7:00:37
    	 * @Description <p>判断是否是身份证号    </p>
    	 * @param idCardNum 身份证号
    	 * @return  {@code true}符合身份证号验证 <br>   {@code false} 不符合身份证号验证
    	 */
    	public static boolean isIdCardNumber(String idCardNum){
    		return PATTERN_IS_ID_CARD_NUMBER_15.matcher(idCardNum).matches()||PATTERN_IS_ID_CARD_NUMBER_18.matcher(idCardNum).matches();
    	}
    
    	// 引用于Android.util.Patterns
    	public static final Pattern EMAIL_ADDRESS = Pattern
    			.compile("[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + "\\@"
    					+ "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + "(" + "\\."
    					+ "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+");
    	
    	/**
    	 * @author 郑明亮
    	 * @Time 2017年3月13日 下午5:50:29
    	 * @Description <p>匹配中文 </p>
    	 */
    	public static final Pattern PATTERN_IS_CHICHNESS = Pattern
    			.compile("^[\\u4e00-\\u9fa5]{0,}$");
    	
    	/**
    	 * @author 郑明亮
    	 * @Time 2017年3月13日 下午6:58:08
    	 * @Description <p> 15位身份证号验证</p>
    	 */
    	public static final Pattern PATTERN_IS_ID_CARD_NUMBER_15 = Pattern
    			.compile("^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$");
    	
    	/**
    	 * @author 郑明亮
    	 * @Time 2017年3月13日 下午6:58:13
    	 * @Description <p>18位身份证号验证 </p>
    	 */
    	public static final Pattern PATTERN_IS_ID_CARD_NUMBER_18 = Pattern
    			.compile("^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$");
    

    评论

    发表评论

    validate