preg_match限制字符串大小而不更改字符串

时间:2014-04-04 02:32:02

标签: php preg-match

我尝试使用php验证用户的密码输入。 现在我试图要求用户至少放置6个字符。如果它是所有字母或数字或任何其他语言字符并不重要。事实上,我希望它接受来自不同语言的特殊字符...所以我决定不改变字符串表达但限制它的长度 我用过这段代码

public function validpassword($value,$fields = NULL ,$reports = NULL){
global $reports;
if(preg_match($value, "/{6,24}/")){
return $value;
}else{
$reports[] = $fields.": 6-24 chars limit";
return false;
}
}
它并没有真正起作用。你可以帮帮我吗?我一直在网上看,我似乎无法找到一些东西。

2 个答案:

答案 0 :(得分:0)

您可以尝试:

preg_match("/^.{6,24}$/u", $value);

^$是字符串开头和结尾的锚点。

u修饰符用于将字符串作为unicode字符串读取。

答案 1 :(得分:0)

试试这个

preg_match($value, "/^.{6,24}$/u");

您也可以使用strlen

示例:

if((strlen($value) < 6) || (strlen($value) > 24))
{
    echo 'Min. length is 6 characters and max. length is 24 characters';
}