//判斷密碼不能輸入相同字母 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() } }