我需要验证潜在的多字节输入字符串是否具有 5 个或更多字符,并且只能包含字母、数字、点和正斜杠。
S7åckÖv3rF/0w
:通过ääää
:失败55555
:通过./../.
:通过我正在尝试纠正我最初的尝试:
if (!(preg_match('/^\w{5,}$/', $username))) {
return true;
}
使用 unicode 属性:
if(!(preg_match('~^[\pL\pN./]{5,}$~u', $username))) { return true; }
\pL
代表任意字母\pN
代表任意数字。
试试这个:
if(!(preg_match('/^[\w.\/]{5,}$/u', $username))) { return true; }
if(!(preg_match('/^[a-zA-Z0-9.\/]{5,}$/', $username))) { return true; }