代码如下: System.out.println("输入一个email"); //输入email Scanner scan = new Scanner(System.in); String input = scan.next(); //检测输入的EMAIL地址是否以 非法符号"."或"@"作为起始字符 Pattern p = Pattern.compile("^//.|^//@"); Matcher m = p.matcher(input); if (m.find()){ System.err.println("EMAIL地址不能以'.'或'@'作为起始字符"); } //检测是否以"www."为起始 p = Pattern.compile("^www//."); m = p.matcher(input); if (m.find()) { System.out.println("email地址不能以'www.'起始"); } //检测是否包含非法字符 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("您现在的输入为: "+email); System.out.println("修改后合法的地址应类似: "+input); }