字符串中的数字或字符


Digits or Characters in a string

我正在尝试输入并验证输入是城镇还是英国邮政编码。如果它是一个城镇(所有字母),那么通过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);
    }
}

但是我不能让它同时做这两件事。

考虑使用

is_int(substr($keyword, -2))

查看邮编