如何验证电子邮件&之前从EditText输入的密码 使用Android Studio注册用户...
电子邮件:必须包含@符号和其他一般要求密码: 必须> 6位数。
请修改此代码。 我的代码是......
public class RegisterActivity extends AppCompatActivity implements View.OnClickListener{
private Button buttonRegister;
private EditText editTextEmail;
private EditText editTextPassword;
private TextView textViewSignin;
private ProgressDialog progressDialog;
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
firebaseAuth=FirebaseAuth.getInstance();
if (firebaseAuth.getCurrentUser()!=null){
//profile activity here
finish();
startActivity(new Intent(getApplicationContext(),ProfileActivity.class));
}
progressDialog = new ProgressDialog(this);
buttonRegister = (Button)findViewById(R.id.buttonRegister);
editTextEmail = (EditText)findViewById(R.id.editTextEmail);
editTextPassword = (EditText)findViewById(R.id.editTextPassword);
textViewSignin = (TextView)findViewById(R.id.textViewSignin);
buttonRegister.setOnClickListener(this);
textViewSignin.setOnClickListener(this);
}
private void registerUser(){
final String email = editTextEmail.getText().toString().trim();
String password = editTextPassword.getText().toString().trim();
//uset cannot go any further without entering password
if(TextUtils.isEmpty(email)){
//email is empty
Toast.makeText(this, "Please enter email",Toast.LENGTH_SHORT).show();
//stopping execution further
return;
}
if(TextUtils.isEmpty(password)){
//password is empty
Toast.makeText(this, "Please enter password",Toast.LENGTH_SHORT).show();
//stopping execution further
return;
}
//if validations are ok
//we will first show progressbar
progressDialog.setMessage("Registerating User...");
progressDialog.show();
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
//user is successfully registered. we will start profile activity here
FirebaseUser user = firebaseAuth.getCurrentUser();
Toast.makeText(RegisterActivity.this, "Authentication success. " + user.getUid(), Toast.LENGTH_SHORT).show();
progressDialog.hide();
finish();
startActivity(new Intent(getApplicationContext(),ProfileActivity.class));
}
else{
Toast.makeText(RegisterActivity.this, "Could not register. please try again", Toast.LENGTH_SHORT).show();
progressDialog.hide();
}
}
});
}
@Override
public void onClick(View v) {
if (v==buttonRegister){
registerUser();
}
if(v==textViewSignin){
finish();
startActivity(new Intent(this, LoginActivity.class));
}
}
}
答案 0 :(得分:1)
试试我的朋友
String emailAddress = etSignInEmail.getText().toString().trim();
if (etSignInPassword.getText().toString().length() < 6) {
etSignInPassword.setError(getString("password minimum contain 6 character));
etSignInPassword.requestFocus();
}
if (etSignInPassword.getText().toString().equals("")) {
etSignInPassword.setError(getString("please enter password));
etSignInPassword.requestFocus();
}
if (!android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress).matches()) {
etSignInEmail.setError(getString("please enter valid email address));
etSignInEmail.requestFocus();
}
if (etSignInEmail.getText().toString().equals("")) {
etSignInEmail.setError(getString("please enter email address));
etSignInEmail.requestFocus();
}
if (!emailAddress.equals("") &&
etSignInPassword.getText().toString().length() >= 6 &&
!etSignInPassword.getText().toString().trim().equals("")
&& android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress).matches()) {
// do your action
}
答案 1 :(得分:1)
为什么不试试这个。
private static boolean isCompositeLambda(int number) {
return number > 3 &&
IntStream.rangeClosed(2, (int) Math.sqrt(number))
.anyMatch(x -> number % x == 0);
}
或
android.util.Patterns.EMAIL_ADDRES
答案 2 :(得分:0)
尝试使用此代码进行电子邮件字段验证和密码验证,并在密码字段中检查最少8个字符。
if (isValidEmail(et_regemail.getText().toString())&&etpass1.getText().toString().length()>7){
if (validatePassword(etpass1.getText().toString())) {
Toast.makeText(getApplicationContext(),"Go Ahead".....
}
else{
Toast.makeText(getApplicationContext(),"InvalidPassword".....
}
}else{
Toast.makeText(getApplicationContext(),"Invalid Email".....
}
public boolean validatePassword(final String password){
Pattern pattern;
Matcher matcher;
final String PASSWORD_PATTERN = "^(?=.*[0-9])(?=.*[A-Z])(?=.*
[@#$%^&+=!])(?=\\S+$).{4,}$";
pattern = Pattern.compile(PASSWORD_PATTERN);
matcher = pattern.matcher(password);
return matcher.matches();
}
public final static boolean isValidEmail(CharSequence target) {
if (target == null)
return false;
return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}