生成包括大小写字母数字以及符号的密码且不能有连续或者倒叙以及其校验

本文主要是介绍生成包括大小写字母数字以及符号的密码且不能有连续或者倒叙以及其校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 : 生成随机密码

生成随机密码
// 随机生成密码方法 
function randomPassword(min: number, max: number) {let str = ""let arr =["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u","v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",'`', '~', '@', '#', '$', '%', '^', '&','*', '(', ')', '-', '_', '=', '+', '[','{', '}', ']', '|', ';', ':', ',', '<', '.', '>', '?']let range = Math.round(Math.random() * (max - min)) + minfor (let i = 0; i < range; i++) {let pos = Math.round(Math.random() * (arr.length - 1));str += arr[pos]}return str
}

校验

1. 判断生成密码不可以连续或者倒叙方法
 // 判断生成密码不可以连续或者倒叙adjoinVerfy(str) {let flag = false; // 默认不连贯for (let i = 0; i < str.length; i++) {// 如果是第一位 只判断和后一位的不判断前面的会报错if (i != 0) {if (typeof Number(str[i]) === "Number") {if (parseInt(str[i]) + 1 == parseInt(str[i - 1]) ||parseInt(str[i]) - 1 == parseInt(str[i - 1])) {flag = true;break;}} else {if (str[i].charCodeAt() - str[i - 1].charCodeAt() == 1 ||str[i].charCodeAt() - str[i - 1].charCodeAt() == -1) {flag = true;break;}}}}return flag;}
2. 校验
testPassWorld() {this.password = randomPassword(8, 16);console.log(this.password);let exp = /.*(?=.{8,16})(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[`~!@#$%^&*?\\(\\)\\-_=+\\[\\{\\}\\]|;:<.>,]).*$/;// 判断生成的随机密码中是否包含大小写字母和数字字母if (exp.test(this.password)) {// 判断有没有倒叙或者正序相连的数字或者字母let flag = this.adjoinVerfy(this.password);if (flag) {this.testPassWorld();}} else {this.testPassWorld();}},

这篇关于生成包括大小写字母数字以及符号的密码且不能有连续或者倒叙以及其校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614075

相关文章

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2