Java 如何使用Matcher类验证Email地址呢?
下文笔者讲述使用Matcher类验证Email的方法分享,如下所示:
实现思路:
检测email地址中包含的字符是否合法
例:
例1:Email验证
//验证是否为邮箱地址
String str="admin@java265.com";
Pattern pattern = Pattern.compile("[//w//.//-]+@([//w//-]+//.)+[//w//-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());
例2:Email验证
import java.util.regex. * ;
public class Email {
public static void main(String[] args) throws Exception {
String input = args[0];
//检测输入的EMAIL地址是否以 非法符号"."或"@"作为起始字符
Pattern p = Pattern.compile("^.|^@");
Matcher m = p.matcher(input);
//检测是否以"www."为起始
p = Pattern.compile("^www."); m = p.matcher(input);
//检测是否包含非法字符
p = Pattern.compile("[^A-Za-z0-9.@_-~#]+");
m = p.matcher(input);
StringBuffer sb = new StringBuffer();
boolean result = m.find();
boolean deletedIllegalChars = false;
while (result) {
//如果找到了非法字符那么就设下标记
deletedIllegalChars = true;
//如果里面包含非法字符如冒号双引号等,那么就把他们消去,加到SB里面
m.appendreplacement(sb, "");
result = m.find();
}
m.appendTail(sb); input = sb.toString();
if (deletedIllegalChars) {
System.out.println("输入的EMAIL地址里包含有冒号、逗号等非法字符,请修改");
System.out.println("您现在的输入为: " + args[0]);
System.out.println("修改后合法的地址应类似: " + input);
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


