【问题标题】:@ in PHP regular expressionsPHP 正则表达式中的@
【发布时间】:2019-05-29 08:57:28
【问题描述】:

我找到了这个密码验证脚本,但我不知道,为什么“@”在模式中。你能给我解释一下吗?谢谢

                $uppercase = preg_match('@[A-Z]@', $_POST['password']);
            $lowercase = preg_match('@[a-z]@', $_POST['password']);
            $number = preg_match('@[0-9]@', $_POST['password']);

            if (!$uppercase || !$lowercase || !$number || strlen($_POST['password']) < 8)
            {
                $message .= "Password must contains lowercase letter, uppercase letter, digit and minimal length is 8 characters. <br/>";
            }

【问题讨论】:

标签: php regex validation


【解决方案1】:

在许多正则表达式库中,“分隔符”实际上是 completely up to the programmer,而且完全是任意的。基本上,无论模式中的第一个字符是什么,它都是分隔符,当它再次出现(未转义)时,该模式被认为是完整的(可选地,在结束分隔符之后有一些标志)。

您可以将其视为程序员风格/品味的问题,或者他们可能在一个项目中养成了模式需要 / 模式的习惯,并且他们不想一直逃避它们。

【讨论】:

  • 感谢您的回答。
猜你喜欢
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 2013-05-30
  • 2012-08-03
  • 1970-01-01
相关资源
最近更新 更多