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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章