黑马程序员技术交流社区
标题:
验证邮箱的规则
[打印本页]
作者:
高阳
时间:
2013-1-3 11:45
标题:
验证邮箱的规则
//获取文件中的邮箱
public static void main(String[] args) throws IOException {
//定义规则\\w表示字母数字,\\W表示非字母数字
String s="\\w+@\\w+(\\.\\w+)+";
//读取文件
BufferedReader br=new BufferedReader(new FileReader("d:\\a.txt"));
String ss=null;
while((ss=br.readLine())!=null){
Pattern p=Pattern.compile(s);
Matcher m=p.matcher(ss);
//符合规则,输出
while(m.find()){
System.out.println(m.group());
}
}
}
作者:
希望的曙光
时间:
2013-1-3 13:12
本帖最后由 希望的曙光 于 2013-1-3 13:14 编辑
public class RegularTest {
public static void main(String[] args) {
String email = "6Abuyer2012@juapk.com.cn";
System.out.println(isEmail(email));
}
public static boolean isEmail(String email){
// 1、\\w+表示@之前至少要输入一个匹配字母或数字或下划线
// 2、(\\w+\\.)表示域名. 为了适应域名 domain.com.cn
// 所以后面{1,3}表示可以出现一次或两次或者三次.
/* 【邮箱和域名规则】
邮箱构成说明。邮箱以“用户名” + “@” + “域名” 组成。例如dahejin
@126.com
,dahejin 是用户名,.com是域名
用户名由字母( 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;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2