所以我写了这个函数:
function validate_text($text,$min,$max,$include_spaces=true)
{
$match = array();
$regex = ($include_spaces)?"/[a-zA-Z0-9 .\-_]":"/[a-zA-Z0-9.\-_]";
if($max<=0)
{
$regex = sprintf($regex."{%d,}/",$min);
}
else
{
$regex = sprintf($regex."{%d,%d}/",$min,$max);
}
if($include_spaces)
{
preg_match($regex,$text,$match);
}
else
{
preg_match($regex,$text,$match);
}
return (implode($match)==$text);
}
并这样使用它:
(validate_text($_POST['prod_name'],10,100,true)
而且我无法验证简单的标题“cbkirby 绘画”我只需要它来确保不会出现在产品标题中不会出现的古怪字符(如分号或引号“”等) t进入mysql.我做错了什么?