0
$page = $_GET['page'];
if(isset($page))
if(!preg_match('/[\w\d_]+/i', $page)) die("Error");
我想允許alphanum和下劃線,的preg_match問題
上面的代碼工作,但讓說,我設置123 ......,這個工程太。 preg_match不會在入口後面驗證嗎?
$page = $_GET['page'];
if(isset($page))
if(!preg_match('/[\w\d_]+/i', $page)) die("Error");
我想允許alphanum和下劃線,的preg_match問題
上面的代碼工作,但讓說,我設置123 ......,這個工程太。 preg_match不會在入口後面驗證嗎?
只要一個字母出現的$page
一個子正則表達式匹配。由於123...
包含子字符串123
它會通過你的正則表達式。
使用
/^\w+$/
整個字符串相匹配。 (\w
已經意味着[a-zA-Z0-9_]
讓你\d
,_
和i
修改是多餘的。)
您需要使用錨爲:
/^\w+$/
\w
已經\d
和_
和'\ w'確實已經包含大寫和小寫變體。 – Gumbo 2010-10-04 08:09:00