/**
	 * 验证手机号是否合法
	 * 
	 * @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 zml2015
	 * @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 zml2015
	 * @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 zml2015
	 * @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 zml2015
	 * @Time 2017年3月13日 下午5:50:29
	 * @Description <p>匹配中文 </p>
	 */
	public static final Pattern PATTERN_IS_CHICHNESS = Pattern
			.compile("^[\\u4e00-\\u9fa5]{0,}$");
	
	/**
	 * @author zml2015
	 * @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 zml2015
	 * @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)$");

Q.E.D.


寻门而入,破门而出