js判断字符串中是否存在连续的三个字符和三个相同的字符(内含强密码校验正则)
js判断字符串中是否存在连续的三个字符和三个相同的字符(字母或数字)
// 判断给定字符串中是否存在连续的三个字符(字母或数字)
const hasConsecutiveOrder = str => {
// 循环遍历字符串中的字符
for (var i = 1; i < str.length - 1; i++) {
let currentCharCode = str.charCodeAt(i); // 当前字符的 ASCII 码值
let previousCharCode = str.charCodeAt(i - 1); // 前一个字符的 ASCII 码值
let nextCharCode = str.charCodeAt(i + 1); // 后一个字符的 ASCII 码值// 如果当前字符与前一个字符相差 1,同时与后一个字符相差 -1,表示存在连续的三个字符
if (currentCharCode === previousCharCode + 1 && currentCharCode === nextCharCode - 1) {
return false; // 返回 false,表示校验未通过
}
}
return true; // 循环结束后,返回 true,表示校验通过
};
// 判断连续的3个数字或字母是否一样
const checkConsecutiveThree = str => {
// 遍历字符串,从索引0开始,直到倒数第三个字符
for (let i = 0; i < str.length - 2; i++) {
// 检查当前字符与下两个字符是否相等
if (str[i] === str[i + 1] && str[i] === str[i + 2]) {
// 没有找到连续的三个相同的字符,返回false
return false;
}
}
// 如果相等,则存在连续的三个相同的字符,返回true
return true;
}
强密码校验正则(支持三个相同或连续的字符校验)
^(?!.*(\w)\1\1)[a-zA-Z0-9!@#$%^&*()_+,-./:;<=>?@[\\\]^_`{|}~]{8,}$
标题:js判断字符串中是否存在连续的三个字符和三个相同的字符(内含强密码校验正则)
作者:mcwu
地址:http://mcongblog.com/articles/2023/06/29/1688021780252.html
感谢认可❤️
都是👍