package cn.timer.api.config.exception;

public class Regular {

	/**
	 * 不超过20字符
	 */
	public static final String CHARS20 = "(\\s|\\S){0,20}";
	/**
	 * 不超过500字符
	 */
	public static final String CHARS500 = "(\\s|\\S){0,500}";
	/**
	 * 手机号码
	 */
//	public static final String PHONE = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
	public static final String PHONE = "^[1][0-9]{10}$";
	/**
	 * 账号是否合法
	 */
	public static final String TOFZHANHAO = "^[a-zA-Z][a-zA-Z0-9_]{4,15}$";
	/**
	 * 密码是否合法
	 */
	public static final String TOFPW = "^[a-zA-Z]\\w{5,17}$";
	/**
	 * 强密码
	 */
	public static final String SHPW = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$";
	/**
	 * 纯汉字输入
	 */
	public static final String CHINESE = "[\\u4E00-\\u9FA5]*";
	/**
	 * 邮箱
	 */
	public static final String EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
	/**
	 * 域名
	 */
	public static final String DNS = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\\.?";
	/**
	 * 非负整数
	 */
	public static final String FUNUM = "^(0|[1-9][0-9]*)$";
	/**
	 * xml文件命名
	 */
	public static final String XML = "^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.(xml|XML|Xml)$";
	/**
	 * QQ
	 */
	public static final String QQ = "[1-9][0-9]{4,}";
	/**
	 * 邮政
	 */
	public static final String YOUZHEN = "[1-9]\\d{5}(?!\\d)";
	/**
	 * IP
	 */
	public static final String IPADDRESS = "\\d+\\.\\d+\\.\\d+\\.\\d+";
	/**
	 * IP255.255.255.255
	 */
	public static final String IP255 = "((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))";
	/**
	 * IP-V4
	 */
	public static final String IPV4 = "\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b";
	/**
	 * IP-V6
	 */
	public static final String IPV6 = "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))";
	/**
	 * 子网掩码
	 */
	public static final String SUBM = "((?:(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d?\\\\d)\\\\.){3}(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d?\\\\d))";
	/**
	 * yyyy-mm-dd 平闰年校验
	 */
	public static final String YMD = "^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$";
	/**
	 * 身份证校验码看isIdCard
	 */
	public static final String IDSTRING = "(^[1-9]\\\\d{5}(18|19|20)\\\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\\\d{3}[0-9Xx]$)|(^[1-9]\\\\d{5}\\\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\\\d{3}$)";
	/** 
	 * 检查身份证是否合法 验证时请先验证长度是否为15为或者18位 
	 * */
	public static final String IDCARD = "\\d{6}(19|20)*[0-99]{2}(0[1-9]{1}|10|11|12)(0[1-9]{1}|1[0-9]|2[0-9]|30|31)(\\w*)";
	/** 
	 * 检查护照是否合法 
	 * */
	public static final String PASSPORT1 = "/^[a-zA-Z]{5,17}$/";
	public static final String PASSPORT2 = "/^[a-zA-Z0-9]{5,17}$/";
	/** 
	 * 港澳通行证验证 
	 * */
//	public static final String HKMAKAO = "/^[a-zA-Z0-9]{6,10}$/";
	public static final String HKMAKAO = "/^[HMhm]{1}([0-9]{10}|[0-9]{8})$/";
	/** 
	 * 台湾通行证验证 
	 * */
	public static final String TAIWAN1 = "/^[0-9]{8}$/";
	public static final String TAIWAN2 = "/^[0-9]{10}$/";
}