正则表达式:密码中必须包含大写、小写、数字、字符并且都要满足。

2024-11-17 11:48:51
推荐回答(4个)
回答1:

这个问题真不建议用一个正则表达式来做,可以用4个正则分别匹配,然后用与操作,非要用正则的话,可以考虑在条件分支里面用零宽度断言,但是这个效率和匹配4个正则表达式是一样的

回答2:

如果需要限定长度为10-20就用这个
^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{10,20}$
如果不需要限定长度,那么就
^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$

回答3:

不限制密码几位的话很难写啊,因为没有要求具体哪位是大写或者数字,我完全可以100位以后再有大写或者数字,这个用正则无法实现,用逻辑判断倒是可以实现

回答4:

^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{6,16}$
我还没验证额,看不懂