Java 如何在android中实现密码验证

Java 如何在android中实现密码验证,java,android,validation,android-studio,passwords,Java,Android,Validation,Android Studio,Passwords,我想在此基础上添加一个密码验证,但在获取密码时遇到问题,我想要一个密码模式,其中至少包括一些 (字符数、特殊字符、小写字母、大写字母) 这种图案。但我无法做到这一点,请帮助 我正在使用android studio public class SignUp extends MainActivity { private EditText et_name, et_email, et_password, et_cpassword; private String name, email, p

我想在此基础上添加一个密码验证,但在获取密码时遇到问题,我想要一个密码模式,其中至少包括一些 (
字符数、特殊字符、小写字母、大写字母
) 这种图案。但我无法做到这一点,请帮助

我正在使用android studio

public class SignUp extends MainActivity {
    private EditText et_name, et_email, et_password, et_cpassword;
    private String name, email, password, cpassword;
    Button signupbtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sign_up_form);
    et_name = (EditText) findViewById(R.id.name);
    et_email = (EditText) findViewById(R.id.Email);
    et_password = (EditText) findViewById(R.id.Password);
    et_cpassword = (EditText) findViewById(R.id.Confirm_Password);
    signupbtn = (Button) findViewById(R.id.Signbtn);
    signupbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            register();
        }
    });
}

public void register() {
    initialise();
    if (!validate()) {
        Toast.makeText(this, "Sign up Failed", Toast.LENGTH_SHORT).show();
    } else {
        onSignUpSuccess();
    }
}

public void onSignUpSuccess() {
    Intent intent = new Intent(SignUp.this, HomePage.class);
    startActivity(intent);
    finish();
}

public boolean validate() {
    boolean valid = true;
    if (name.isEmpty() || name.length() > 32) {
        et_name.setError("please enter valid name");
        valid = false;
    }
    if (email.isEmpty() || !Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
        et_email.setError("please enter valid Email");
        valid = false;
    }
    if (password.isEmpty() )
        et_password.setError("please enter a valid password");
    return valid;
}
public void initialise(){
    name = et_name.getText().toString().trim();
    email = et_email.getText().toString().trim();
    password = et_password.getText().toString().trim();
    cpassword = et_cpassword.getText().toString().trim();
}
}

最简单的方法是使用轮询。 因此,实际上您可以通过JavaScript设置一个间隔,在该间隔内启动对服务器的AJAX请求以获取数据,如果需要,因为数据已更改,只需刷新表即可。 在JS中是这样的:

// interval of one minute
setInterval(function() {
  // starts the AJAX request
  // get the response
 // if something has changed, update the table
}, 60 * 1000);
即使这是最简单的方法,但实际上并不是最好的方法,因为您将拥有一个函数,该函数将始终启动对服务器的请求,即使什么都没有发生

最好的解决方案是设置Web套接字,并在某些数据发生更改时直接从服务器接收通知

您似乎已经对django做了一些事情,但我不是这方面的专家,所以您可以看看这篇文章:


不确定这两个选项是否都有帮助,但请看一看:(像JS中的事件)并且用最初的想法实时获取数据需要一个XMLHTTP请求,使用普通javascript执行此操作可能会有问题,因为每个浏览器都有自己的“想法”如何发出XMLHTTP请求。