Android-英數混合 之密碼設定教學

英數混合 之密碼設定教學-Android
現在主流設定password的時候都會來個英數混合
如:abcd1234
但這樣在手機端上該怎麼去判別呢?
1.利用正規表示式即可判斷此字串有沒有特殊符號,如:#$@!%^&*+ 等

if((EditText.getText().toString()).matches(“^[0-9A-Za-z]{8,16}$”)){

//沒有特殊符號

}

2.判斷字串裡面的文字必須有英文與中文,把剛剛上面得到的結果帶入下列函式

public boolean CheckPassword(String password) {

String tem = password.substring(0, password.length());

char[] temC = tem.toCharArray();

int number = 0, letter = 0;

for (int i = 0; i < password.length(); i++) {

if (temC[i] >= 48 && temC[i] <= 57) {

//數字

}

if (temC[i] >= 65 && temC[i] <= 90) {

//大寫字母

}

if (temC[i] >= 97 && temC[i] <= 122) {

//小寫字母

letter++;

}

}

return (number != 0 && letter != 0) ? true : false;

}

依照字元所代表的數字分類,就可以知道這字串有多少數字,字母了。

另外

其實一開始也可以直接在EditText的屬性裡面加入

android:digits=“0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”

直接限制輸入的範圍,這樣可以防止用戶輸入到特殊符號了~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *