JS實現強密碼

一個強密碼應滿足以下所有條件:
至少6個,至多20個字符組成。
至少包含一個小寫字母,一個大寫字母,和一個數字。
同一字符不能連續出現三次(比如“…aaa…”是不允許的,但是“…aa….a…”是可以的)。
編寫函數strongPasswordCheck(s),s代表輸入字符串,如果s已經符合強密碼條件,則返回0;否則返回要將s修改爲滿足強密碼條件的字符串所需要進行修改的最小步數,每次只操作單個字符。
插入、刪除、替換任一字符都算作一次修改。

/**
* @param  {String} s  
* @return {Number}
*/

var strongPasswordCheck = function(s) {
	
	var pattern = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![a-z0-9]+$)[a-zA-Z0-9]{6,20}$/; 
    //如果符合至少6個,至多20個字符組成。至少包含一個小寫字母,一個大寫字母,和一個數字。
    if (pattern.test(s)) {
        var reg = /(\w)\1{2}/g,
            strContinue = null;
        strContinue = s.match(reg);
        if (strContinue && strContinue.length > 0) { //出現了aaa這種連續的字符
            // console.log(strContinue);
            return 1;
        } else { //符合條件的字符
            return 0;
        }
    } else {
    	return 1;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章