public static void emailChecker() {
Scanner input = new Scanner(System.in);
String email = " ";
char[] test;
int counter = 0;
System.out.println("Please enter your email: ");
email = input.nextLine();
test = email.toCharArray();
for (int i = 0; i < email.length(); i++) {
if (test[i] == 64 || test[i] == 46) {
System.out.println("Email is valid");
} else {
System.out.println("Email is not valid");
}
}
}
我发现在第10行输出会说如果字符串包含一个“。”,那么email将是有效的。或“@”。但是我希望我的代码只在“。”时表示该字符串是有效的。在“@”之后。有效的电子邮件示例是:[email protected]。如何检查“。”在java中“@”之后?
使用正则表达式,你可以做一个更好的验证器:http://stackoverflow.com/questions/8204680/java-regex-email。看到这个答案。 –
不......这不是一个很好的电子邮件验证方式。相反,看看使用正则表达式。有_many_其他无效的输入,你的例子没有打算涵盖。 –
我只应该使用数组来检查它是否工作。但我没有理解它背后的逻辑。 – Lance