【发布时间】: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/>";
}
【问题讨论】:
-
我不同意,但他们使用
@作为分隔符而不是/例如 -
@, /, -, %, ` 这些都是分隔符。代表正则表达式的开始和结束。
-
从技术上讲,您可以使用任何非字母数字作为分隔符,包括在正则表达式中有意义的内容,例如
.或+或|等Sandbox
标签: php regex validation