PHP 检查数组中的第一个第二个第三个字符


Php check first second third char in array

>我有一个邮政编码数组:

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

我需要根据上述数组验证用户英国邮政编码的前 4 个字符。

我遇到的问题是我需要一次循环一个字符。一些输入可能是 4 个字符或 3 个带空格的字符。

我已经尝试过怀孕匹配和数组,但经过数小时的谷歌搜索后无法解决

感谢您的任何建议。

我遇到的问题是它匹配整个数组而不是开始 4 个字符

您应该能够与单个正则表达式匹配:

$firstPostcode = array(
    'se1',
    'ec2a',
    'se16',
);
$rx = '!^'s*('.implode('|', $firstPostcode).')!i';
if (preg_match($rx, $input)){
    # postcode matches!
}

创建如下所示的正则表达式:

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

这匹配字符串开头的前缀之一(首先跳过任何空格),并且不区分大小写。