Java Matcher类检验Email地址
Matcher检验一个输入的EMAIL地址里所包含的字符是否合法。
Email校验一
//验证是否为邮箱地址 String str="ceponline@yahoo.com.cn"; Pattern pattern = Pattern.compile("[//w//.//-]+@([//w//-]+//.)+[//w//-]+",Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(str); System.out.println(matcher.matches());
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); } } }
程序运行结果:
我们在命令行输入:java Email www.kevin@163.net
那么输出结果将会是:EMAIL地址不能以'www.'起始
如果输入的EMAIL为@kevin@163.net
则输出为:EMAIL地址不能以'.'或'@'作为起始字符
当输入为:cgjmail#$%@163.net
那么输出就是:
输入的EMAIL地址里包含有冒号、逗号等非法字符,请修改
您现在的输入为: cgjmail#$%@163.net
修改后合法的地址应类似: cgjmail@163.net
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。