原创

Java 判断电话号码邮箱代码示例讲解

1、电话号码是电话管理部门为电话机设定的号码。一般7--8位数组成的(手机号码为11位),移动号码号段由三大移动营业商号段组成,具体如下:

1)中国移动号段包括:134、135、136、137、138、139、150、151、152、157、158、159、147、182、183、184、187、188、1705、178

2)中国联通号段包括:130、131、132、145(145属于联通无线上网卡号段)、155、156、185、186 、176、1709、176

3)中国电信号段包括:133 、153 、180 、181 、189、1700 、177

验证手机号是否正确,具体代码如下:

/**
 * 验证手机号码(针对手机号)
 * www.yoodb.com
 * @param mobiles
 * @return
 */
public static boolean verifyMobileNumber(String mobileNumber) {
	boolean flag = false;
	try {
		Pattern regex = Pattern
				.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$");
		Matcher matcher = regex.matcher(mobileNumber);
		flag = matcher.matches();
	} catch (Exception e) {
		flag = false;
	}
	return flag;
}

验证手机号和一般电话是否正确,具体代码如下:

/**
 * 手机和一般电话
 * www.yoodb.com
 * @param phoneNumber
 * @return
 */
public static boolean verifyPhoneNumber(String phoneNumber){  
	boolean flag = false;
	try {
		Pattern regex = Pattern.compile("1([\\d]{10})|((\\+[0-9]{2,4})?\\(?[0-9]+\\)?-?)?[0-9]{7,8}");  
	    Matcher matcher = regex.matcher(phoneNumber); 
	    flag = matcher.matches();
	} catch (Exception e) {
		flag = false;
	}
	return flag;
}

注意:此方法验证手机号时针对范围有些误区 ,如果单独验证手机号码是否正确建议请使用verifyMobileNumber()方法。

2、—个完整的Internet邮件地址由以下两个部分组成,格式如下:

登录名@主机名.域名,中间用—个表示“在”(at)的符号“@”分开,符号的左边是对方的登录名,右边是完整的主机名,它由主机名与域名组成。

验证邮箱格式是否正确,具体代码如下:

/**
 * 验证邮箱
 * 
 * @param email
 * @return
 */
public static boolean verifyEmail(String email) {
	boolean flag = false;
	try {
		String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
		Pattern regex = Pattern.compile(check);
		Matcher matcher = regex.matcher(email);
		flag = matcher.matches();
	} catch (Exception e) {
		flag = false;
	}
	return flag;
}

3、上述的方法都是采用正则表达式进行验证操作的,对于初学者正则表达式可能有些复杂,如果看不懂可以参考如下地址:http://blog.yoodb.com/yoodb/article/detail/307  ,此地址有助于分析验证规则的理解。

~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信