正则表达式 强密码

强密码是正则的难点,最重要的在于断言的用法。

需求 是判断至少有一个数字,大小写字母,特殊字符[email protected]#$%^&*._
。  且只包含数字,大小写字母,特定的特殊字符。  可以分两部分写 第一部分断言判断至少包含一个(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*._]),第二部分[\[email protected]#$%^&*._]{n,m}
包含n-m次。  那么总的正则就是

/^ (?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*._])[\[email protected]#$%^&*._]{n,m} $/
。有些对分隔符会当做转义字符 /  / . 可以替换为 # 或者最后那个 / 省略就可以解决因为转义出现的问题。

时间: 2024-11-02 08:22:10

正则表达式 强密码的相关文章

python 使用正则表达式判断密码强弱

学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实战的人心,那么既然没人喜欢理论就直接上实战,在实战中精炼理论.不多说直接先上代码 def password_level(password): weak = re.compile(r'^((\d+)|([A-Za-z]+)|(\W+))$') level_weak = weak.match(password) level_middle = re.match(r'([0-9]+(\W+|\_+|[A-Za-z]+))+|

python中用正则表达式检查密码是否安全

目的:通过正则表达式检查密码是否强大,这个方法在需要注册网页上应该很常用. 环境:ubuntu 16.04  python3.5 思路:需要多个正则表达式,依次检查输入的密码是否符合要求,可以if或者for配合. import re # 密码至少8位数 rule_1 = re.compile(r'\w{8,}') # 密码同时包含大小写字母 rule_2 = re.compile(r'([a-z].*[A-Z])|([A-Z].*[a-z])') # 密码至少有一位数字 rule_3 = re.

HDU5262 15年百度之星复赛1005 最强密码(神奇的dp)(好题)

Problem Description 由于近来密码库被盗的现象层出不穷,度度熊决定为自己的账号找一个最强密码.在研究了密码库很久之后,它总结出了一个规律:密码库中的所有密码都是一个"密码生成串"的子序列(某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列). 经过强大的计算集群夜以继日的工作,度度熊得到了这个"密码生成串".现在它希望找到一个"最强密码",不是这个"密码生成串"

mysql root强密码的必要性max_allowed_packet被改成1024引起的风险

前两天运维反馈说,有些机器的max_allowed_packet隔两天就会被改成1024,导致客户端调用时出错,网上有说内存不够的,也有人工修改的. 运维小姑娘一口咬定肯定没有改过的,而且my.cnf中包含了. 昨天下班前开了general_log,早上过来grep "SET" | grep -A10 -b10 "packet"一遍,果然被攻击后修改了. 要求强密码策略. 主要是mysql没有设置密码策略,以及连续n次登录错误后没有自动锁定账号导致,截止最新5.7.

解决MSDE2000安装SA强密码SAPWD开关和混合模式登录问题

解决MSDE2000安装SA强密码SAPWD开关和混合模式登录问题 2012 年 9 月 9 日 今天帮客户安装某某软件,需要用到SQL Server数据库,之前一直是直接装个SQL Server 2000企业版完事的,但是觉得这个太庞大了,安装略显麻烦.客户使用的软件也不需要功能多复杂的SQL Server. 其实我想尝试一下SQL Server 2005 Express的,无可奈何的是那个软件太破旧了,只能用SQL Server 2000凑合用了,其实SQL Server 2000也有类似的

Python 使用正则表达式验证密码必须包含大小写字母和数字

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px ".PingFang SC Light" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue" } span.s1 { font: 14.0px "Helvetica Neue" } span.s2 { font: 14.0px ".PingF

一小时内破解16位强密码

密码可以用来保护你的金融交易.你的社交网络站点,和其他貌似安全的在线网站的主机.人们经常说:"不要把字典里的单词用来做密码.它们超级不安全".可是,要是黑客们能想办法破解任何16位字符的密码,那该怎么办? 那些试图潜入你的数字后院的犯罪分子或入侵者们总是能找到办法.针对用MD5加密函数转换为哈希值的16,449个随机生成的密码列表,一个黑客团队已经破解了其中超过14,800个. 这里面暴露出来的问题是相对较弱的加密方法,它叫做哈希方法.哈希方法以纯文本方式获取每个用户的密码,然后传入一

JS的常用正则表达式 验证密码用户名等

JS的正则表达式 //校验是否全由数字组成 function isDigit(s){var patrn=/^[0-9]{1,20}$/;if (!patrn.exec(s)) return falsereturn true} //校验登录名:只能输入5-20个以字母开头.可带数字.“_”.“.”的字串Java代码function isRegisterUserName(s)  {  var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;  if (!p

js正则表达式之密码强度验证

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-