邮箱地址格式:邮箱帐户@网络地址
判断网络地址格式是否合法问题:程序如下:
import java.util.Scanner;
public class CheckEmail
{
public static void main(String[] args)
{
System.out.println("请输入邮箱地址:");
Scanner scanner=new Scanner(System.in);
String emailAddress=null;
if(scanner.hasNext())
{
emailAddress=scanner.next();
}
if(emailAddress.length()<3)
{
System.out.println("邮箱地址过短,程序推出.");
return;
}
if(emailAddress.indexOf('@')<1)[b[color=#800000]]----> 这里小于1是不是只要小于一个正数就可以,或者干脆写成等于一个负数呢?[/b] [/color] {
System.out.println("邮箱地址格式不正确,缺少@,程序推出.");
return;
}
String emailParts[]=emailAddress.split("@");这里的emailAddress.split("@")是什么意思?
if(emailParts.length!=2)
{
System.out.println("邮箱地址格式不正确,缺少@,程序推出.");
return;
}
if(!emailParts[0].matches("\\w+"))
{
System.out.println("邮箱网址格式不正确,程序推出.");
return;
}
if(emailParts[1].toLowerCase().indexOf("www")>-1) ---> ‘-1’怎么用的?
{
System.out.println("邮箱网址格式不正确,程序推出.");
return;
}
System.out.println("正确的邮箱地址:"+emailAddress);
}
}所有标记的if里具体是什么意思?越详细越好....
判断网络地址格式是否合法问题:程序如下:
import java.util.Scanner;
public class CheckEmail
{
public static void main(String[] args)
{
System.out.println("请输入邮箱地址:");
Scanner scanner=new Scanner(System.in);
String emailAddress=null;
if(scanner.hasNext())
{
emailAddress=scanner.next();
}
if(emailAddress.length()<3)
{
System.out.println("邮箱地址过短,程序推出.");
return;
}
if(emailAddress.indexOf('@')<1)[b[color=#800000]]----> 这里小于1是不是只要小于一个正数就可以,或者干脆写成等于一个负数呢?[/b] [/color] {
System.out.println("邮箱地址格式不正确,缺少@,程序推出.");
return;
}
String emailParts[]=emailAddress.split("@");这里的emailAddress.split("@")是什么意思?
if(emailParts.length!=2)
{
System.out.println("邮箱地址格式不正确,缺少@,程序推出.");
return;
}
if(!emailParts[0].matches("\\w+"))
{
System.out.println("邮箱网址格式不正确,程序推出.");
return;
}
if(emailParts[1].toLowerCase().indexOf("www")>-1) ---> ‘-1’怎么用的?
{
System.out.println("邮箱网址格式不正确,程序推出.");
return;
}
System.out.println("正确的邮箱地址:"+emailAddress);
}
}所有标记的if里具体是什么意思?越详细越好....
字符串是不是以@打头,或者根本没有@
它包含二种情况.你要是换成-1,那以@打头的就被认为是正确的了.String emailParts[]=emailAddress.split("@");
把字符串以@标记分割成N段
如:[email protected]
分成:aa和aa.com二段(emailParts[1].toLowerCase().indexOf("www")>-1)
地址段是否以www开始if(!emailParts[0].matches("\\w+"))
帐号部分是否有一个以上的非[a-zA-Z_0-9]字符正则表达式:
\w= A word character: [a-zA-Z_0-9]
+= 一个或更多
(emailParts[1].toLowerCase().indexOf("www")>-1)
地址段是否包含www!!!