为了账号安全,请及时绑定邮箱和手机立即绑定

密码的regex必须包含至少8个字符、至少一个数字以及大小写字母和特殊字符。

密码的regex必须包含至少8个字符、至少一个数字以及大小写字母和特殊字符。

倚天杖 2019-06-05 14:43:31
密码的regex必须包含至少8个字符、至少一个数字以及大小写字母和特殊字符。我想要一个正则表达式来检查:密码至少包含八个字符,包括至少一个数字,并包括大写字母和大写字母以及特殊字符。#, ?, !.它不能是你的旧密码,也不能包含你的用户名,"password",或"websitename"这是我的验证表达式,用于八个字符,包括一个大写字母、一个小写字母和一个数字或特殊字符。(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"我怎么写呢?密码必须是八个字符,包括一个大写字母、一个特殊字符和字母数字字符。?
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

至少八个字符,至少一个字母和一个数字:

"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

至少八个字符,至少一个字母,一个数字和一个特殊字符:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"

至少八个字符,至少一个大写字母,一个小写字母和一个数字:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"

至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"

最少8个字符,最多10个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"


查看完整回答
反对 回复 2019-06-05
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您可以将此正则表达式用于多个前瞻性断言(条件):

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$

这个regex将执行以下规则:

  • 至少有一个大写字母

    英文字母(?=.*?[A-Z])

  • 至少有一个小写英文字母,

    (?=.*?[a-z])

  • 至少有一个数字,

    (?=.*?[0-9])

  • 至少有一个特殊角色,

    (?=.*?[#?!@$%^&*-])

  • 至少8英寸长

    .{8,}

    (用锚)


查看完整回答
反对 回复 2019-06-05
?
MMTTMM

TA贡献1869条经验 获得超4个赞

正则表达式没有AND运算符,所以很难编写一个与有效密码匹配的正则表达式,当有效性由某些东西和其他东西以及其他东西定义时.

但是,正则表达式确实有OR运算符,所以只需应用DeMorgan的定理,并编写与无效密码匹配的正则表达式:

少于八个字符的东西任何没有号码的东西没有大写字母的东西或者任何没有小写的东西任何没有特殊角色的东西。

因此:

^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$

如果有匹配的,那么它就是一个无效的密码。


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 7950 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信