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); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。