JS密码正则验证(不能连续字符(如123、abc)连续3位或3位以上)(不能相同字符(如111、aaa)连续3位或3位以上)

news/2024/11/30 9:34:08/
  • 密码必须为8到16位且必须包含数字和字母
  • 密码必须包含特殊字符【_&#%】
  • 不能连续字符(如123、abc)连续3位或3位以上
  • 不能相同字符(如111、aaa)连续3位或3位以上
    const regFun = (str) => {// 密码必须包含数字和字母// 密码长度8到16位const reg1 = /(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,16}/if (!reg1.test(str)) {console.log('为弱口令密码')return false}// 密码必须包含特殊字符 _&#%if (!(str.indexOf("_") != -1 || str.indexOf("&") != -1 || str.indexOf("#") != -1 || str.indexOf("%") != -1)) {console.log('为弱口令密码')return false}// 不能连续字符(如123、abc)连续3位或3位以上if (!LxStr(str)) {console.log('为弱口令密码')return false}//不能相同字符(如111、aaa)连续3位或3位以上const reg2 = /(\w)*(\w)\2{2}(\w)*/gif (reg2.test(str)) {console.log('为弱口令密码')return false}}// 不能连续字符(如123、abc)连续3位或3位以上const LxStr = (str) => {let arr = str.split('')let flag = truefor (let i = 1; i < arr.length - 1; i++) {let firstIndex = arr[i - 1].charCodeAt()let secondIndex = arr[i].charCodeAt()let thirdIndex = arr[i + 1].charCodeAt()thirdIndex - secondIndex == 1secondIndex - firstIndex == 1if ((thirdIndex - secondIndex == 1) && (secondIndex - firstIndex == 1)) {console.log('为弱口令密码')flag = false}}}
    // 四个符合三个(大写字母小写字母、数字、特殊字符、大于12位---固定条件)function pwReg (password) {const reg = /^((?![0-9]+$)|(?![`~!@#$%^&*-=\\+\|;:'",<.>/?]+$))(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9a-z]+$)(?!(.*)[\[\]](.*)+$)(?![A-Z0-9]+$)(?![0-9`~!@#$%^&*-=\\+\|;:'",<.>/?]+$)(?![a-zA-Z]+$)[a-zA-Z0-9`~!@#$%^&*-=\\+\|;:'",<.>/?]{12,}$/const result = reg.test(password)return result}// 判断密码是否为连续的数字或字母function lxStr (password) {let arr = password.split('');let flag = true;for (let i = 1; i < arr.length - 1; i++) {let firstIndex = arr[i - 1].charCodeAt();let secondIndex = arr[i].charCodeAt();let thirdIndex = arr[i + 1].charCodeAt();thirdIndex - secondIndex == 1;secondIndex - firstIndex == 1;if ((thirdIndex - secondIndex === 1) && (secondIndex - firstIndex === 1)) {flag = false;}}if (!flag) {return flag}return flag}// 判断是否连续相同数字或字母function lxSameStr (password) {const reg = /(\w)*(\w)\2{2}(\w)*/gif (reg.test(password)) {return false} else {return true}}


http://www.ppmy.cn/news/1006929.html

相关文章

探秘手机隐藏的望远镜功能:开启后,观察任何你想看的地方

当今的智能手机不仅仅是通信工具&#xff0c;它们蕴藏着各种隐藏的功能&#xff0c;其中之一就是让你拥有望远镜般的观察能力。是的&#xff0c;你没有听错&#xff01;今天我们将探秘手机中隐藏的望远镜功能&#xff0c;这项神奇的功能可以让你打开后&#xff0c;轻松观察任何…

webpack基础知识四:说说webpack中常见的Plugin?解决了什么问题?

一、是什么 Plugin&#xff08;Plug-in&#xff09;是一种计算机应用程序&#xff0c;它和主应用程序互相交互&#xff0c;以提供特定的功能 是一种遵循一定规范的应用程序接口编写出来的程序&#xff0c;只能运行在程序规定的系统下&#xff0c;因为其需要调用原纯净系统提供…

Teams Room视频会议室方案

需求背景&#xff1a; 适合在40平米的会议室参加Teams视频会议&#xff0c;会议桌周围可以坐20人&#xff0c;要求&#xff1a; 1&#xff0c;操作简单&#xff0c;一键入会Teams Room&#xff1b; 2&#xff0c;任何人带上自己的笔记本电脑&#xff0c;可以分享电脑画面&#…

面试题:说说JS的this指向问题?

1、this永远指向一个对象&#xff1b; 2、this的指向完全取决于函数调用的位置&#xff1b; 可以借鉴这篇文章&#xff0c;说的很详细&#xff08;点击&#xff09; 总结&#xff1a; 1、 以方法的形式调用时&#xff0c; this 是调用方法的对象&#xff1b; 2、绑定事件函…

初级web前端开发工程师的岗位职责描述(合集)

初级web前端开发工程师的岗位职责描述1 职责&#xff1a; 1. 根据功能需求设计编写页面原型; 2. 前后端联调保证功能流畅; 3. 提高页面易用性、美观提出合理建议。 4、与后台工程师配合开发联调并交付产品; 5、持续优化前端页面体验和访问速度&#xff0c;保证页面精美高效…

P25透明屏:探究在商业广告领域的应用表现

P25透明屏是一种新型的显示屏技术&#xff0c;具有高透明度和高分辨率的特点。 它可以将图像或视频直接投影到透明的表面上&#xff0c;使得观众可以透过屏幕看到背后的景物&#xff0c;同时也能够看到屏幕上的内容。 P25透明屏广泛应用于商业展示、户外广告、产品展示等领域…

组合总和——力扣39

文章目录 题目描述回溯 题目描述 回溯 class Solution { public:vector<vector<int>> res;vector<int> seq; void dfs(vector<int>& nums, int pos, int target){if(target0){res.emplace_back(seq);return;}if(posnums.size()){return;}//直接跳过…

SpringBoot项目-个人博客系统的实现

1.博客系统简要分析 一共有6个网页&#xff0c;分别是博客列表页面&#xff0c;博客详情页面&#xff0c;发布博客页面&#xff0c;博客登陆页面&#xff0c;博客更新页面&#xff0c;修改个人信息页面&#xff08;暂未实现&#xff09;&#xff0c;我们要实现的功能有&#xf…