/**
 * 文件名：CheckUtil.java
 * 描述：校验工具封装类
 * 包名：cn.com.kmlt.monstarBase.utils.check
 * 作者：WENJQ
 * 创建日期：2016年05月26日
 * 
 */
package com.mgq.base.utils.check;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CheckUtil {

	
	/**
	 * 
	* 方法名： isPhoneNum
	* 功能：校验手机号码有效性
	* 参数： phoneNum 手机号码
	* 返回值:true:有效;false:无效
	* 异常：
	 */         
    public static boolean isPhoneNum(String phoneNum) {
		if (phoneNum.length() != 11)
			return false;
        
      	Pattern p = Pattern.compile("^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])\\d{8}$");

    	Matcher m = p.matcher(phoneNum);  


    	return m.matches();  
    	
    }

	/**
	 * 
	* 方法名： isEmail
	* 功能：校验电子邮箱有效性
	* 参数： email 电子邮箱
	* 返回值:true:有效;false:无效
	* 异常：
	 */  
    public static boolean isEmail(String email) {

    	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 m = pattern.matcher(email);
    	
    	return m.matches();

    }

	/**
	 *
	 * 方法名： isIdentifyNum
	 * 功能：校验身份证号码有效性
	 * 参数： idNum 手机号码
	 * 返回值:true:有效;false:无效
	 * 异常：
	 */
	public static boolean isIdentifyNum(String idNum){
		boolean match = false;
		int count = idNum.length();
		if (count != 15 && count != 18)
			return false;
		if (count == 15){
			Pattern pattern = Pattern.compile("^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$");
			Matcher m = pattern.matcher(idNum);
			match = m.matches();
		}else if (count == 18){
			Pattern pattern = 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)$");
			Matcher m = pattern.matcher(idNum);
			match = m.matches();
		}
		return match;
	}

	public static boolean isIMEINum(String imei) {
		Pattern pattern = Pattern.compile("^\\d{15}$");
		Matcher m = pattern.matcher(imei);

		return m.matches();
	}
}
