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