无效的电子邮件文本域java

时间:2013-11-28 15:55:03

标签: java jtextfield

我的问题是我想检查电子邮件文本字段是否包含char" @"。我应该怎么做?我还想检查其他文本字段,如名称,用户名,密码是否是空。谢谢你的帮助。这个应用程序让我大吃一惊!

   private JButton signupButton;
private JTextField name;
  private JTextField email;
  private JTextField username;
private JPasswordField pass;

private UserManager userManager;

public SignUpFrame (UserManager userManager){
super("Please fill in your Data");

userManager = new UserManager();

signupButton = new JButton("Sign Up!");
signupButton.addActionListener(new signupButtonListener());

 name = new JTextField(15);

 email = new JTextField(15);

 username = new JTextField(15);

pass = new JPasswordField(15);



 JPanel mainPanel = new JPanel();

  mainPanel.setLayout(new GridLayout(5,2));

     mainPanel.add(new JLabel("Name:"));
  mainPanel.add(name);
   mainPanel.add(new JLabel("Email:"));
     mainPanel.add(email);
    mainPanel.add(new JLabel("Username"));
      mainPanel.add(username);
    mainPanel.add(new JLabel("Password:"));
   mainPanel.add(pass);
    mainPanel.add(signupButton);

    this.setContentPane(mainPanel);
   this.pack();
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);







   }



    class signupButtonListener implements ActionListener{

         public void actionPerformed(ActionEvent arg0) {

    String nam,emai,id,psw;

        nam = name.getText();
       emai= email.getText();
     id = username.getText();
 psw = pass.getText();

User u1 = new User(nam,emai,id,psw);

 UserManager.userList.add(u1);

}

2 个答案:

答案 0 :(得分:0)

要检查TextField是否为空,您可以使用if语句:

if(name.getText().length() > 0){ nam = name.getText(); }
...

为了检查您的电子邮件TextField中是否有char @,您可以使用.contains()方法:

emai= email.getText();
if(emai.contains("@")){ ... }

我希望我能帮到你..

答案 1 :(得分:0)

尝试使用if来测试字段保持的内容,即

if(nam.equals("")){
//alert the user

}

您可以对所有字段执行此操作。

你可以使用电子邮件的正则表达式 - 比如

String emailreg = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";

 Boolean result = emailAddress.matches(emailreg);
if(result == true){
//email is valid
}

希望这有帮助。