两个字符串比较,判断是否包含任意三个连续相同字符串

时间:2021-07-29 22:17:44

今天做项目时,做到注册页面,有一个需求是:要求用户设置的密码不包含全部或部分用户名(任意连续3个字符)。

无奈js薄弱的很,研究了好久才写出来,汗颜。。。。

 

//截取字符串中相邻的三个字符,并放到新建的数组中

function subStr (str) {   
    var arr = [];
    for(var i=0;i<str.length-2;i++){
            var x = str.substring(i,i+3); //x就是每次截取的值
        arr.push(x);
    }
    return arr;
}
 

//比较两个数组中是否有相同的内容。
function isEqual (arr1,arr2) {
      var arr3=[];
    for(var s in arr1){
        for(var x in arr2){
            if(arr1[s]==arr2[x]){
                arr3.push(arr1[s]);
            }
        }
    }
    return arr3;
}

 

用法:

var box=isEqual(subStr("hello12"),subStr("nihao123"));
console.log(box);     //["o12"]