需求很简单:判断输入的字符串,必须由大写字母和数字组成,并且总字符数在5到20之间。我的正则判断这么写:if ( !preg_match('[A-Z0-9]{5,20}', $_name) )
{
echo 'not match';
}我用的是PHP4,但是总是提示:Warning: preg_match() [function.preg-match]: Unknown modifier '{' in /testdec.php on line 26
用ereg()没有这样的问题,但结果总是不对,不知道是正则写错了,还是其他问题?另外,哪里有比较全的正则表达式语法介绍哦,POSIX语法好像要被淘汰了,要用PCRE的是么,请大虾指教!!!
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>
if ( !preg_match('/[A-Z0-9]{5,20}/', $_name) )
{
echo 'not match';
}
if ( !preg_match('/[A-Z0-9]{5,20}/', $_name) )
{
echo 'not match';
}
if ( !preg_match('/[A-Z0-9]{5,20}/', $_name) )
{
echo 'not match'; exit;
}