android中的密码验证确认

时间:2013-04-16 07:07:07

标签: java android string-comparison

我有这个活动,我想验证确认密码字段。这是我的代码 - :

nt.setOnClickListener(new OnClickListener() { 

    public void onClick(View v) { 

         if(email.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("E-mail field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(pass.getText().toString().equals("")){

            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Password  field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });

            alertDialog.show();
        }

        else if(conpass.getText().toString()!= pass.getText().toString() ){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Passwords do not match");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(name.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Name field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(dob.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Date of birth field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(address.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Address field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(city.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("City field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(zip.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Zip field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(phone.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Phone No. field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }
        else if(mobile.getText().toString().equals("")){
            AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
            alertDialog.setTitle("oops!");
            alertDialog.setMessage("Mobile No field is empty");
            alertDialog.setButton("Ok",
            new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      //dismiss the dialog  
                    }
                });
            alertDialog.show();
        }

        else{

            String mail = email.getText().toString();

            String pas = pass.getText().toString();

            String fname = name.getText().toString();

            String dateob = dob.getText().toString();

            String add12 = address.getText().toString();

            String tow = city.getText().toString();

            String zip1 = zip.getText().toString();

            String mob = mobile.getText().toString();

            String phn = phone.getText().toString();

            Intent per = new Intent(getApplicationContext(), Register2.class);
            per.putExtra("email", mail);
            per.putExtra("name", fname);
            per.putExtra("password", pas);
            per.putExtra("mobile", mob);
            per.putExtra("phone", phn);
            per.putExtra("address", add12);
            per.putExtra("zip", zip1);
            per.putExtra("city", tow);
            per.putExtra("dateofbirth", dateob);
            startActivity(per);
        }

    }
});  

现在,即使我将两个edittext字段设为相同,它仍然显示密码不匹配的警告对话框。请在此帮助我。谢谢。

3 个答案:

答案 0 :(得分:10)

您无法使用=!=比较字符串,而是使用equals

else if(!conpass.getText().toString().equals(pass.getText().toString()) )

答案 1 :(得分:1)

尝试此功能:

public boolean isPasswordMatching(String password, String confirmPassword) {
    Pattern pattern = Pattern.compile(password, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(confirmPassword);

    if (!matcher.matches()) {
        // do your Toast("passwords are not matching");

        return false;
    }

    return true;
}

答案 2 :(得分:0)

参考这个以获得处理此

的线索

简单的过滤

if条件下检查old passwordnew password不是nullempty并且检查两者都不相同 如果new passwordold password不是nullempty,则检查两个长度是否相等并验证两个字符串是否相等

如果您喜欢简单验证,可以选择此项

    @Override
    public void afterTextChanged(Editable s) {

        System.out.println(s.toString());
        String oldPass = oldPassword.getText().toString();
        String newPass = newPassword.getText().toString();
        String confirmPass = confirmPassword.getText().toString();
        if (!oldPass.equals("") && !newPass.equals("") && oldPass.equals(newPass)) {
            Toast.makeText(getContext(), "Choose Different Password than Old Password", Toast.LENGTH_SHORT).show();
        }
        else if (!newPass.equals("") && !confirmPass.equals("") && !newPass.equals(confirmPass) && newPass.length()==confirmPass.length())
        {
            Toast.makeText(getContext(), "Choose same as New Password", Toast.LENGTH_SHORT).show();
        }
    }