package work11;
/*
12.编写一个用户注册的验证程序,需要注册的信息有:
用户名(不得大于10个位,以字母开头),
手机号(11位数字),
邮箱(判断是否是邮箱正确的格式),
密码(8—16位,必须包含大写、小写、数字),
在控制台根据提示输入相关信息,验证失败提示要求并重写输入,验证成功才能进入下一项内容填写,
所有信息填写成功后提示“是否提交N/Y”,用户确认提交后把所有信息都打印出来
*/
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HomeWork12 {
public static boolean isEmail(String email){
String str="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";
Pattern p = Pattern.compile(str);
Matcher m = p.matcher(email);
return m.matches();
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入注册信息:");
String username;
String num;
String email;
String password;
System.out.println("请输入用户名:");
String str = sc.nextLine();
String s = "N";
while("N".equals(s))
{
char[] c = str.toCharArray();
if(str.length()<=10&&Character.isLetter(c[0]))
{
username = str;
System.out.println("用户名验证成功:");
System.out.println("请输入手机号码:");
String str2 = sc.nextLine();
while("N".equals(s))
{
if(str2.length() == 11)
{
int flag = 1;
char[] c2 = str2.toCharArray();
for(int i=0;i<str2.length();i++)
{
if(!Character.isDigit(c2[i]))
{
flag = 0;
}
}
if(flag != 0)
{
num = str2;
System.out.println("手机号验证成功:");
System.out.println("请输入邮箱:");
String str3 = sc.nextLine();
while("N".equals(s))
{
if(isEmail(str3))
{
email = str3;
System.out.println("邮箱验证成功:");
System.out.println("请输入密码:");
String str4 = sc.nextLine();
while("N".equals(s))
{
int x=0,y=0,z=0;
char[] c4 = str4.toCharArray();
for(int i = 0;i < c4.length;i++)
{
if(Character.isDigit(c4[i]))
{
x = 1;
}
if(Character.isLowerCase(c4[i]))
{
y = 1;
}
if(Character.isUpperCase(c4[i]))
{
z = 1;
}
}
if(x!=0&&y!=0&&z!=0)
{
password = str4;
System.out.println("密码验证成功:");
System.out.println("验证成功,是否提交用户信息:N/Y:");
s = sc.next();
if("Y".equals(s))
{
System.out.println("用户名:"+username);
System.out.println("手机号:"+num);
System.out.println("邮箱:"+email);
System.out.println("密码"+password);
}
}
else
{
System.out.println("密码不符合规范,请重新输入:");
str4 = sc.nextLine();
}
}
}
else
{
System.out.println("邮箱不符合规范,请重新输入:");
str3 = sc.nextLine();
}
}
}
else
{
System.out.println("手机号不符合规范,请重新输入:");
str2 = sc.nextLine();
}
}
else
{
System.out.println("手机号不符合规范,请重新输入:");
str2 = sc.nextLine();
}
}
}
else
{
System.out.println("用户名不符合规范,请重新输入:");
str = sc.nextLine();
}
}
}
}