`

验证邮箱和手机号

 
阅读更多

 

/**
 * 验证邮箱和手机号
 * @ClassName: RegularUtil 
 * @Description: 
 * @date 2012-4-26下午06:21:54
 */
public class RegularUtil {
	
	/**
	 * 测试
	 * @param args
	 */
	public static void main(String[] args) {
		String email = "6Abuyer2012@juapk.com.cn"; 
		System.out.println(isEmail(email));
//		String mobile = "18600881158";
//		System.out.println(isTelePhoneNumber(mobile));
//		System.out.println(isLegalAnswer("aA1中"));
	}
	
	/**
	 * 验证是否是合法的密保答案
	 * @param answer
	 * 				密保答案
	 * @return	boolean
	 *  密保答案只能为数字、字母、汉字
	 * 	true表示是正确的密保答案格式,false表示不是正确密保答案格式
	 */
	public static boolean isLegalAnswer(String answer){
		String regular = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w]+$";
		Pattern pattern = Pattern.compile(regular);
		boolean flag = false;
		if( answer != null ){
			Matcher matcher = pattern.matcher(answer);
			flag = matcher.matches();
		}
		return flag;
	}
	
	/**
	 * 验证是否是正确的邮箱格式
	 * @param email
	 * 				电子邮箱
	 * @return	boolean
	 * 
	 * 	true表示是正确的邮箱格式,false表示不是正确邮箱格式
	 */
	public static boolean isEmail(String email){
		// 1、\\w+表示@之前至少要输入一个匹配字母或数字或下划线
		// 2、(\\w+\\.)表示域名. 为了适应域名 domain.com.cn
		//	      所以后面{1,3}表示可以出现一次或两次或者三次.
		/* 【邮箱和域名规则】
			邮箱构成说明。邮箱以“用户名” + “@” + “域名” 组成。例如 username@mail.domain.com ,username 是用户名,mail.domain.com是域名。(mail是二级域名、domain为一级域名) 
			用户名由字母( A~Z 和 a~z )、数字( 0~9 )和字符( "-" 和 "." 和 "_" )组成。 
			域名由字母(A~Z,a~z)、数字(0~9)和连接符(-)组成。各级域名之间用实点(.)连接。 
			域名部分首字符、尾字符必须是字母或数字。 
			域名之间用实点(.)连接,且最多支持三级域名。(即@后最多支持3个.)
	 	*/
		String regular = "^(\\.|-|\\w)+@([a-z0-9A-Z]+([a-z0-9A-Z-]+[a-z0-9A-Z])?\\.){1,3}+[a-zA-Z]{2,4}$"; 
		Pattern pattern = Pattern.compile(regular);
		boolean flag = false;
		if( email != null ){
			Matcher matcher = pattern.matcher(email);
			flag = matcher.matches();
		}
		return flag;
	}

	/**
	 * 验证是否是正确的手机号格式
	 * @param telePhoneNumber
	 * 				电话号码
	 * @return	boolean
	 * 
	 * 	true表示是正确的手机号格式,false表示不是正确的手机号格式
	 */
	public static boolean isTelePhoneNumber(String telePhoneNumber){
		//当前运营商号段分配
		//中国移动号段 1340-1348 135 136 137 138 139 150 151 152 157 158 159 187 188 147
		//中国联通号段 130 131 132 155 156 185 186 145
		//中国电信号段 133 1349 153 180 189
		String regular = "1[3,4,5,8]{1}\\d{9}";
		Pattern pattern = Pattern.compile(regular);
		boolean flag = false;
		if( telePhoneNumber != null ){
			Matcher matcher = pattern.matcher(telePhoneNumber);
			flag = matcher.matches();
		}
		return flag;
	}

}
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics