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);
    }
}

但我不能让它为两者都做。任何想法都非常感谢。

4

1 回答 1

0

考虑使用

is_int(substr($keyword, -2))

检查邮政编码

于 2013-01-17T23:06:38.843 回答