golang: 密码中允许出现数字、大写字母、小写字母、特殊字符,但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可)
要求: 密码中允许出现数字、大写字母、小写字母、特殊字符(.@$!%*#_~?&^),但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可)
package mainimport ("fmt""regexp"
)// 密码校验规则: 必须包含数字、大写字母、小写字母、特殊字符(如.@$!%*#_~?&^)至少3种的组合且长度在8-16之间
func VerifyPassword(minLength, maxLength int, pwd string) bool {if len(pwd) < minLength || len(pwd) > maxLength {return false}// 过滤掉这四类字符以外的密码串,直接判断不合法re, err := regexp.Compile(`^[a-zA-Z0-9.@$!%*#_~?&^]{8,16}$`)if err != nil {return false}match := re.MatchString(pwd)if !match {return false}var level = 0patternList := []string{`[0-9]+`, `[a-z]+`, `[A-Z]+`, `[.@$!%*#_~?&^]+`}for _, pattern := range patternList {match, _ := regexp.MatchString(pattern, pwd)if match {level++}}if level < 3 {return false}return true
}
golang: 密码中允许出现数字、大写字母、小写字母、特殊字符,但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可)相关推荐
- 密码的自动生成器:密码由大写字母/小写字母/数字组成,生成12位随机密码
package arithmetic;import java.util.Random;public class Test04 {/*** 密码的自动生成器:密码由大写字母/小写字母/数字组成,生成12 ...
- JS实现数字字母混合验证码(数字+大写字母+小写字母)
我之前写了一篇<JS实现随机验证码>,可以产生随机数字.随机颜色.随机位置,但只能产生数字验证码,今天在此基础上进行改进,使之可以随机大写字母.小写字母.数字三种类型. 思路 我们使用Ma ...
- (汇编)输出数字、大写、小写字母
问题:内存自source开始有20个数字.大写字母.小写字母的混合串(比如:1234567890abceFGHIJ)编程将其中的数字符号挑选出来存储到dst开始的内存中,做一个菜单,选1,2,3分别输 ...
- //随机生成1位大写字母\小写字母\数字
package HomeWork; //随机生成1位大写字母\小写字母\数字 public class Test_2 {public static void main(String[] args) { ...
- C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组
例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...
- (C语言)(用指针方法处理)输入一行文字,找出其中大写字母,小写字母,空格,数字以及其他字符各有多少
(用指针方法处理)输入一行文字,找出其中大写字母,小写字母,空格,数字以及其他字符各有多少 #include<stdio.h> #include<stdlib.h> #incl ...
- 设置密码8-16位大写字母+小写字母+数字+特殊字符
我的这个效果是结合element UI的样式显示的,大家主要看函数里边对应的实现方法 主要的js代码: var validatePass = (rule, value, callback) => ...
- Python程序输入一个字符串并查找总数的大写和小写字母
Given a string str1 and we have to count the total numbers of uppercase and lowercase letters. 给定字符串 ...
- [转载] Python程序输入一个字符串并查找总数的大写和小写字母
参考链接: Python程序可大写字符串中每个单词的第一个和最后一个字符 Given a string str1 and we have to count the total numbers of u ...
最新文章
- 网站速度优化-前端篇
- 176页报告辟谣自动化时代的就业危机(附下载)
- 【PAT (Advanced Level) Practice】1113 Integer Set Partition (25 分)
- python爬虫案例-python爬虫案例
- Jupyter Notebook修改默认工作路径
- 巧妙解决:access denied (javax.management.MBeanTrust...
- java中常用的定位方式有哪些_java-selenium八种元素定位方式
- KMyMoney:全体理财好管家
- HihoCoder - 1441 后缀自动机一·基本概念(模拟,后缀自动机入门好题)
- spearman相关性_Spearman的相关性及其在机器学习中的意义
- 点石成金-3-超市大亨
- Linux Bash Shell中的特殊参数含义
- Vue 页面权限控制(一)
- 2014届去哪儿校园招聘笔试题
- android通过代码设置铃声_iOS、Android数据传输管理工具
- ubuntu22.04在虚拟机中的安装过程以及搜狗输入法的安装
- mysql给数据库表批量加表前缀_批量修改mysql数据库表前缀。
- 人脸面部情绪识别(一)
- 微信小程序显示空格符
- Java对接云mas发送短信(https方式)