2012-04-24 95 views
1

我有一個郵政編碼數組:腓檢查第一第二第三字符陣列

$firstPostcode = array(
    'se1', 
    'ec2a', 
    'se16', 
); 

我需要驗證用戶第一4個字符針對上述陣列的英國郵政編碼的。

問題我需要一次循環一個字符。一些輸入可能是4個字符或3個空格。

我試圖預浸比賽和數組,但谷歌搜索

感謝您的任何意見小時後解決不了。

我有在其整個陣列匹配不啓動4個字符

問題
+2

你能舉一些例子輸入嗎?還有問題一次?並且請張貼您嘗試的代碼。 – 2012-04-24 18:19:08

+1

你可以給我們提供你正在開發的'preg_match'的代碼嗎... – 2012-04-24 18:19:31

+0

[in_array()](http://us.php.net/manual/en/function.in-array.php)看起來像它會適合你的需求,你有什麼問題呢? – j08691 2012-04-24 18:31:27

回答

1

你應該能夠匹配單個正規表達式:

$firstPostcode = array(
    'se1', 
    'ec2a', 
    'se16', 
); 
$rx = '!^\s*('.implode('|', $firstPostcode).')!i'; 

if (preg_match($rx, $input)){ 
    # postcode matches! 
} 

將創建一個正則表達式是這樣的:

!^\s*(se1 |ec2a|se16)!i 

這匹配您的字符串開頭的前綴之一(首先跳過任何空格)並且不區分大小寫。

相關問題