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

时间:2012-04-24 18:17:35

标签: php arrays preg-match

我有一个邮编代码:

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

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

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

我已经尝试了preg match和数组但是在谷歌搜索后几个小时无法解决

感谢您的任何建议。

我遇到的问题是它匹配整个数组而没有启动4个字符

1 个答案:

答案 0 :(得分:1)

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

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

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

创建一个像这样的正则表达式:

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

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