2013-05-29 133 views
2

有人能指出我在Android的使用正則表達式(模式和匹配器要具體)驗證使用正則表達式

String pass_pattern = "^([A-Za-z0-9][A-Za-z0-9]{4,10})$"; 
b1= (Button)findViewById(R.id.button1); 
    et1= (EditText)findViewById(R.id.editText1); 

    b1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) {  
      chek = et1.getText().toString(); 
      if(chek.equals("")) 
      { 
      Toast.makeText(getApplicationContext(), "Enter password",1000).show(); 
      } 

      if(chek.matches(pass_pattern)) 
      { 
       Toast.makeText(getApplicationContext(), "Valid pAssword",1000).show(); 
      }else {Toast.makeText(getApplicationContext(), "InvalidpAssword",1000).show();} 

     } 
    }); 

這是目前我的代碼,我想檢查用戶輸入ATLEAST一個小寫字母至少有一個大寫字母和一個數字,長度應該是4-10個字符。

如果我通過.matches()來做到這一點,它只會比較上述字符串中的一個條件。

+1

另一個密碼驗證! – devnull

回答

0

試試這個:

String pass_pattern = "^(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])[^\\W_]{4,10}$"; 
+0

無效的轉義序列(有效的轉義序列是\ b \ t \ n \ f \ r \「\'\\)得到那 – jayeshkv

+0

@sup:我忘記了java –

+0

的雙重轉義工作很好,謝謝 – jayeshkv

0

你可以做到這一點,而無需使用正則表達式:

+0

謝謝,但我想開始使用正則表達式。 – jayeshkv