【发布时间】:2014-07-29 05:51:11
【问题描述】:
我有一个关于使用 Java 进行电子邮件验证的问题。我知道使用它的正确方法是通过正则表达式和模式,但由于某种原因,我被要求使用循环来编写它。换句话说,我必须使用 for 循环来验证电子邮件。用模式很容易达到要求,但说到循环,就有点混乱了。
电子邮件必须在@ 之前至少有一个字母,在@ 和点. 之间至少有一个字母。点后至少有两个字母。
我的意思是如何编写一个使用 for 循环检查所有这些要求的循环? 有什么想法吗?
今天早些时候我问过上面的问题......现在我到了这里。现在唯一的问题是我不能在点后放置至少两个字符。
public class EmailValid {
public static void main (String[] args) {
System.out.print("Please Enter Your Email To Validate: ");
Scanner input = new Scanner (System.in);
String email = input.nextLine();
for (int i = 0 ; i < email.length(); i ++) {
if (email.indexOf("@") >= 1 ) {
if (email.indexOf(".") >= email.indexOf("@")+2)
if ((email.indexOf("@")+email.indexOf(".") - email.length()) >= 1 )
System.out.print("Email Passed" + (email.length() - (email.indexOf("@")+email.indexOf("."))));
}
}
System.out.print("\n String legnth: "+ (email.length()) +
"\n Index of @: " + email.indexOf("@") +
"\n Index of dot: " + email.indexOf("."));
}
}
【问题讨论】:
-
你的问题是什么(“任何想法?”有点太模糊了)?
-
你刚刚用你的最后一句话描述了它。如果您想获得一些帮助,最好展示您的最佳尝试(代码).. 或者至少到目前为止您尝试了什么..
-
对不起,我的错。我的意思是如何编写一个循环来使用 for 循环检查所有这些要求?
-
可能会遍历电子邮件
String并在遇到“@”和“.”时注意? -
如果您的问题改变了您的要求,请不要编辑。
标签: java email-validation