>我有一个邮政编码数组:
$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
这匹配字符串开头的前缀之一(首先跳过任何空格),并且不区分大小写。