2013-01-08 110 views
0

我有一個表格,用戶輸入車登記,所以我只想讓數字和字母?用戶輸入驗證只有數字和字母允許

if(preg_match("/(A-Za-z0-9]+/", $to)){ 

$errors[] = "Only use numbers and letters please";} 

得到錯誤...

Warning: preg_match() [function.preg-match]: Compilation failed: missing) at offset 12 in /homepages/28/d420353834/htdocs/regupdate.php on line 84 

所以我猜我弄錯了。

+0

我還以爲該消息說有一個失蹤),事實上,你的正則表達式有一個開放(沒有結束),並沒有開幕[閉幕] [很明顯 –

回答

1

你的A前失蹤[結束),並在您的正則表達式最終/) 。應該是這樣的:

if (preg_match("/([A-Za-z0-9]+)/", $to)) { 

另外,如果你只是在測試的布爾值,而不是收集的比賽,你可以省略()完全。

+0

我等待誰將成爲第一個發現**都**錯誤。你在哪裏1st;) – Peon

+0

@DainisAbols謝謝:) – scoota269

+0

這個正則表達式排除包含非字母數字字符的字符串嗎? –

1

嘗試:

if(preg_match("/([A-Za-z0-9])+/", $to)){ 
    // action ...  
} 

你錯過[在開始和在正則表達式

0

將其更改爲

if(preg_match("/([A-Za-z0-9])+/", $to)) 
+0

對不起,我錯過了[。現在它會工作 –

0

我想,即使你的字符串包含字符串中也含有非字母數字字符一個字符的字母數字等答案正則表達式返回true。 (嘗試用「4-8α-!! 123」的exaple)

如果你想確保你的字符串只包含字母數字字符,試試這個代碼:

if (preg_match("/^([[:alnum:]])*$/", $to)) 
{ 
    $errors[] = "Only use numbers and letters please"; 
}