以下是我正在使用的代码:
它总是给我输出“无效的电子邮件地址”
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
String name="";
do
{
System.out.println("Email:");
String email= br.readLine();
if(!name.matches("^[a-zA-Z0-9]+@[a-zA-Z0-9]+(.[a-zA-Z]{2,})$"))
System.out.println("Invalid email address");
else
break;
}while(true);
答案 0 :(得分:5)
或者您可以使用apache validator
String email; //set the String...
System.out.println(EmailValidator.getInstance().isValid(email));
答案 1 :(得分:2)
if(!name.matches("^[a-zA-Z0-9]+@[a-zA-Z0-9]+(.[a-zA-Z]{2,})$"))
应该是
if(!email.matches("^[a-zA-Z0-9]+@[a-zA-Z0-9]+(.[a-zA-Z]{2,})$"))
答案 2 :(得分:0)
可能你应该打电话
email.matches("^[a-zA-Z0-9]+@[a-zA-Z0-9]+(.[a-zA-Z]{2,})$")
因为name经常被设置为空字符串。