Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于密码验证的正则表达式_Php_Regex - Fatal编程技术网

Php 用于密码验证的正则表达式

Php 用于密码验证的正则表达式,php,regex,Php,Regex,我被交给了一个任务,就是组装一个登录屏幕。我在网上找到了一些可行的方法,但是我在编写正则表达式来验证密码时遇到了问题。应强制执行以下策略--密码长度应正好为14个字符,并应包括: 至少2个大写字母 至少2个小写字母 至少2个数字,以及 至少2个“特殊”字符 我不知道怎么写这个。有人能帮忙吗?假设“特殊字符”指的是任何不是字母或数字的东西: ^(?=.*[a-z].*[a-z])(?=.*[A-Z].*[A-Z])(?=.*[0-9].*[0-9])(?=.*[^A-Za-z0-9].*[^A

我被交给了一个任务,就是组装一个登录屏幕。我在网上找到了一些可行的方法,但是我在编写正则表达式来验证密码时遇到了问题。应强制执行以下策略--密码长度应正好为14个字符,并应包括:

  • 至少2个大写字母
  • 至少2个小写字母
  • 至少2个数字,以及
  • 至少2个“特殊”字符
我不知道怎么写这个。有人能帮忙吗?

假设“特殊字符”指的是任何不是字母或数字的东西:

^(?=.*[a-z].*[a-z])(?=.*[A-Z].*[A-Z])(?=.*[0-9].*[0-9])(?=.*[^A-Za-z0-9].*[^A-Za-z0-9]).{14}$

什么语言?我假设其中一个是客户端JavaScript,但您也必须在服务器端执行此检查。这些文件是用PHP编写的。下面的链接应该为您指明正确的方向。。。你不用正则表达式,你用的是一些正则表达式。这样,每一个表达式都很容易理解,并且使代码简洁且具有描述性。请学习正则表达式-它们非常简单且非常有用。我可以提供,但下次你会更聪明些吗?为什么不读一本关于它们的教程,来一次狂欢呢?我以前从未想过在正则表达式中使用多个
(?=)
。。。这是一个很好的答案,用一个正则表达式做了一些我认为不可能的事情。