你会想要逃避最后一个正斜杠(或删除它,不知道它应该在那个正则表达式吗?)。另外,你在0之前有一个反斜杠,这也没有任何意义。
# escape it if it's supposed to be in there.
/[^A-Za-z\s0-9 - @ .]\//
或
# use a different character as a delimiter
%[^A-Za-z\s0-9 - @ .]/%
或
# remove it if it's a typo!
/[^A-Za-z\s0-9 - @ .]/
而且,你知道你可以用一个[:alnum:]
捷径? (src)
# matches alpha numeric, "-", "@", and "."
/[[:alnum:][email protected]]/
希望最终编辑:
我建议你把摆在首位看看你的功能太多,这是一个有点混乱。你基本上要检查三个条件,1)是否传递正则表达式,2)它是否是最小长度,3)它是否超过最大长度。由于所有这三个返回布尔值(或东西,评估正确的布尔值),可以简化功能如下:
function CheckAlphanumeric($element,$minlength,$maxlength) {
// returns TRUE if it matches all conditions, FALSE if one fails.
return preg_match("/[[:alnum:][email protected] ]/", $element) && strlen($element) >= $minlength && strlen($element) <= $maxlength;
}
您是否尝试删除两个关闭的'/'字符之一? – 2012-03-13 18:25:28
@SurrealDreams我做了,我仍然收到了警告信息 – user1154295 2012-03-13 18:34:31