//判断密码不能输入相同字母 removeRepeatStr(str){ //不能为相同字符 var newStr = ''; var len = str.length; for(var i=0; i<len; i++){ if(newStr.indexOf(str[i])==-1){ newStr = newStr + str[i]; } } return newStr; }, //判断密码不能输入连续字符 lxStr(str) { var flag = true; for(var i= 1; i< str.length; i++) { flag = flag && str.charCodeAt(i) == str.charCodeAt(i-1) + 1; } return flag; }, //使用方法 Vue data 里面 let inputPasswordReg = (rule, value, callback) => { let str = this.$utils.removeRepeatStr(value); //去重之后长度是否为1,如果为1,那么就是密码每一个都一样 if(value === '') { callback(new Error('请输入新增账号密码')) }else if(value.length<8 || value.length>16) { callback(new Error('请输入8-16位密码')) }else if(str.length == 1) { //代表是完全相同的数字和字母 callback(new Error('抱歉,不能是完全相同的字符')) }else if(this.$utils.lxStr(value) == true) { callback(new Error('抱歉,不能是连续的数字或字母')) }else if(!this.$utils.validator.isPassword(value)){ callback('抱歉,至少含字母/数字、符号2种组合') }else{ callback() } }