我有一个邮编代码:
$firstPostcode = array(
'se1',
'ec2a',
'se16',
);
我需要针对上述数组验证用户前4个字符的英国邮政编码。
我遇到的问题是我需要一次遍历一个字符。一些输入可能是4个字符或3个带空格。
我已经尝试了preg match和数组但是在谷歌搜索后几个小时无法解决
感谢您的任何建议。
我遇到的问题是它匹配整个数组而没有启动4个字符
答案 0 :(得分:1)
您应该能够匹配单个正则表达式:
$firstPostcode = array(
'se1',
'ec2a',
'se16',
);
$rx = '!^\s*('.implode('|', $firstPostcode).')!i';
if (preg_match($rx, $input)){
# postcode matches!
}
创建一个像这样的正则表达式:
!^\s*(se1 |ec2a|se16)!i
这匹配字符串开头的一个前缀(首先跳过任何空格)并且不区分大小写。