以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  密码强度如何设定必须有大写小写数字和符号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170756)

--  作者:爱好所有
--  发布时间:2021/8/6 11:54:00
--  密码强度如何设定必须有大写小写数字和符号
 密码强度如何设定必须有大写小写数字和符号这4种都要有的规则?
dim reg = new system.text.regularexpressions.regex("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()-+={}[];\'\\<>,/?.]).{8,30}$")
dim password = textbox.text
if reg.ismatch(password) = false then
    output.show("强度不够")
else
    output.show("OK")
END IF
这样好像不能是四种规则都能用上,不知道那里有问题,是不是红色部分有问题呢?

--  作者:爱好所有
--  发布时间:2021/8/6 14:44:00
--  
 蓝老大
--  作者:有点蓝
--  发布时间:2021/8/6 14:58:00
--  
这玩意百度吧:https://www.cnblogs.com/dudu/p/regex-password-strength.html


--  作者:爱好所有
--  发布时间:2021/8/6 16:39:00
--  
dim txt as winform.textbox = e.form.controls("textbox1")
dim reg = new system.text.regularexpressions.regex("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=([x21-x7e]+)[^a-zA-Z0-9]).{8,30}$")
dim password = txt.text
if reg.ismatch(password) = false then
    output.show("强度不够")
else
    output.show("OK")
END IF

这是正确的必须4项检测(必须包含一位小写字母、大写字母、数字、特殊字符,最短8位最长30位)密码规则表达式
1、(?=.*[0-9])  意思是所有数字
2、(?=.*[a-z])  所有小写字母
3、(?=.*[A-Z])  所有大写字母
4、(?=([x21-x7e]+)[^a-zA-Z0-9]) 特殊字符
上面4条不需要强制那条规则就删除那一条即可。如果不需要必须大写字母,就把3删除,把2改为(?=.*[a-zA-Z])