你會想要逃避最後一個正斜槓(或刪除它,不知道它應該在那個正則表達式嗎?)。另外,你在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