2016-04-12 12 views
7

Ciao sono molto nuovo per Android e nel mio ho Validazioni per Cambia password pagina significa che la password deve contenere almeno 8 caratteri almeno 1 alfabeto, 1 numero e 1 carattere speciale per questo provo sotto codice, ma non funziona si prega di aiutarmi a qualcunoCome convalidare Campo password in Android

if(!isPasswordValidMethod(newPassword.getText().toString())){ 
      System.out.println("Not Valid"); 

       }else{ 

     System.out.println("Valid"); 
    } 



    // Validate password 
     private boolean isPasswordValidMethod(String password) { 

      String yourString = newPassword.getText().toString(); 

      System.out.println("yourString is =" + yourString); 

      boolean isValid = false; 

      // ^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$ 
      // ^[\\w\\.-][email protected]([\\w\\-]+\\.)+[A-Z]{2,4}$ 

      String expression = "^(?=.*[A-Za-z])(?=.*\\\\d)(?=.*[[email protected]$!%*#?&])[A-Za-z\\\\[email protected]$!%*#?&]{8,}$"; 
      CharSequence inputStr = password; 

      Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE); 
      Matcher matcher = pattern.matcher(inputStr); 
      if (matcher.matches()) { 
       System.out.println("if"); 
       isValid = true; 
      }else{ 
       System.out.println("else"); 
      } 
      return isValid; 
     } 
+0

Forse questa risposta sarà aiutarti: http://stackoverflow.com/questions/9962382/password-validation-adding-additional-requirments –

risposta

11

prova seguente codice

//***************************************************************** 
public static boolean isValidPassword(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(); 

} 

E modificare il codice per questo

if(newPassword.getText().toString().length()<8 &&!isValidPassword(newPassword.getText().toString())){ 
     System.out.println("Not Valid"); 

      }else{ 

    System.out.println("Valid"); 
} 
+0

if (newPassword.getText(). ToString(). Length() <8 ||! IsValidPassword (newPassword.getText() .toString())) { System.out.println ("Non valido"); – Krish

+0

che è una condizione di validazione – Krish

+1

minimo 8 caratteri significa che deve essere "&&" non || – mdDroid

1
public static boolean passwordCharValidation(String passwordEd) { 
    String PASSWORD_PATTERN = "^(?=.*[A-Z])(?=.*[@_.]).*$"; 
    Pattern pattern = Pattern.compile(PASSWORD_PATTERN); 
    Matcher matcher = pattern.matcher(passwordEd); 
    if (!passwordEd.matches(".*\\d.*") || !matcher.matches()) { 
     return true; 
    } 
    return false; 
} 
+0

Si risponde a pieno riempimento: contiene almeno 8 caratteri di almeno 1 alfabeto, 1 numero e 1 carattere speciale. Grazie –

+0

sì Innanzitutto controllare password lunghezza maggiore di 8 se (passwordEd.length()> 8); –

1

Prova questo funziona

public static boolean isPasswordValidMethod(final String password) { 

    Pattern pattern; 
    Matcher matcher; 
    final String PASSWORD_PATTERN = "^(?=.*[A-Za-z])(?=.*\\\\d)(?=.*[[email protected]$!%*#?&])[A-Za-z\\\\[email protected]$!%*#?&]{8,}$"" 
    pattern = Pattern.compile(PASSWORD_PATTERN); 
    matcher = pattern.matcher(password); 

    return matcher.matches(); 

} 
2
public static boolean isValidPassword(String s) { 
      Pattern PASSWORD_PATTERN 
        = Pattern.compile(
        "[a-zA-Z0-9\\!\\@\\#\\$]{8,24}" 
      ); 
      return !TextUtils.isEmpty(s) && PASSWORD_PATTERN.matcher(s).matches(); 
     } 

per usarlo,

if(isValidPassword(String)){ //password valid} 

È possibile impostare comunque simbolo che si concessi qui

1
String validPassword = "12345"; 
        _Password_String = Password.getText().toString(); 
        Matcher matcher = Pattern.compile(validPassword).matcher(_Password_String); 
        if (matcher.matches()) { 
         Log.e("d11", _Password_String); 
         Toast.makeText(getActivity(), "Password Match", Toast.LENGTH_LONG).show(); 
         getFragmentManager().popBackStack(); 


        } else { 
         Password.setError("Password"); 
         Toast.makeText(getActivity(), "Password not Match", Toast.LENGTH_LONG).show(); 
        } 
Problemi correlati