12.编写一个用户注册的验证程序,需要注册的信息有: 用户名(不得大于10个位,以字母开头), 手机号(11位数字), 邮箱(判断是否是邮箱正确的格式), 密码(8—16位,必须包含大写

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();
            }
        }


    }
}

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个简单的Java Swing程序示例,可以弹出一个对话框让用户输入注册信息,并将用户信息保存到文件中: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class RegisterDialog extends JFrame { private JTextField usernameField; private JPasswordField passwordField; private JButton registerButton; public RegisterDialog() { super("Register"); // 创建用户名密码输入框 JLabel usernameLabel = new JLabel("Username:"); usernameField = new JTextField(); JLabel passwordLabel = new JLabel("Password:"); passwordField = new JPasswordField(); // 创建注册按钮 registerButton = new JButton("Register"); registerButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 获取用户名密码 String username = usernameField.getText(); String password = new String(passwordField.getPassword()); // 保存用户信息到文件中 try { PrintWriter writer = new PrintWriter(new FileWriter("users.txt", true)); writer.println(username + "," + password); writer.close(); JOptionPane.showMessageDialog(RegisterDialog.this, "Registration successful!"); dispose(); } catch (IOException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(RegisterDialog.this, "Error saving user information."); } } }); // 创建布局 JPanel panel = new JPanel(new GridLayout(3, 2)); panel.add(usernameLabel); panel.add(usernameField); panel.add(passwordLabel); panel.add(passwordField); panel.add(registerButton); // 添加布局到窗口 setContentPane(panel); pack(); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new RegisterDialog(); } } ``` 该程序创建了一个带有用户名密码注册按钮的对话框。当用户点击注册按钮时,程序会将用户名密码保存到名为“users.txt”的文本文件中,并弹出一个消息框显示注册成功。注意,该程序只是一个简单示例,实际的注册应该使用更安全的方法来存储密码,例如使用哈希函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值