2013-01-17 44 views
0

我正在嘗試輸入並驗證輸入是鎮或英國郵政編碼。如果它是一個城鎮(所有字母),然後通過if,如果是郵編,我需要剝去最後的兩個字符。字符串中的數字或字符

這個工作對郵編:

if (preg_match('/[^0-9]+$/',$keyword)) { 
    //SEE IF LAST 2 CHARS ARE LETTERS 
    $last3chars = substr($keyword, -2); 
    if (!preg_match('/[^A-Za-z]/', $last3chars)) { 
     $keyword = substr($keyword,0,-2); 
    } 
} 

而這個工程的鎮:

if(preg_match('/[^0-9A-Za-z]+$/',$keyword)) { 
    //SEE IF LAST 2 CHARS ARE LETTERS 
    $last3chars = substr($keyword, -2); 
    if (!preg_match('/[^A-Za-z]/', $last3chars)) { 
     $keyword = substr($keyword,0,-2); 
    } 
} 

但我不能讓它做兩個。任何想法非常讚賞。

+2

你覺得呢'[^ 0-9A-ZA-Z]'部分是什麼意思? – zerkms

+0

老實說,我不是100%確定preg_match是如何工作的,我從這裏的另一個問題的答案得到了這個結果! – user1988770

回答

0

考慮使用

is_int(substr($keyword, -2)) 

檢查郵政編碼

+0

謝謝,我會試試看。 – user1988770

相關問題