邮政编码中的空间

2 php

我有一个脚本,要求邮政编码输入在其中有空格,否则它将失败.直截了当,但英国邮政编码可能在不同的地方有差距,即W1 4SB,NW2 6PT或SG14 1LB如果使用PHP输入正确的格式没有间隙,我将如何更改用户输入?

Jon*_*ant 6

邮政编码总是以数字字母结尾.只需在字符串结尾前的第4个字符处查找空格,如果不存在,请插入.

  • @Claudiu你误读了我的帖子.第4个**从结束**所有邮政编码都以9AA格式结束,无论他们在开始时有多少. (4认同)

duc*_*lip 5

对于完全合格的英国邮政编码,该空间实际上始终处于相同位置。它就在最后 3 位数字/字母之前

所以首先验证它是一个真正的英国邮政编码并且它与格式匹配,然后执行以下操作:

$postcode = 'E154EZ';
if( isValidPostcode($postcode) ){
  $postcode = str_replace(' ','',$postcode);
  $postcode = wordwrap($postcode, strlen($postcode)-3,' ', true);
}
Run Code Online (Sandbox Code Playgroud)

附注。您可以从这里获取英国邮政编码验证正则表达式 + 额外信息