验证加拿大邮政编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证加拿大邮政编码相关的知识,希望对你有一定的参考价值。

  1. function fnValidatePostal($mValue, $sRegion = '')
  2. {
  3. $mValue = strtolower($mValue));
  4. $sFirst = substr($mValue, 0, 1);
  5. $sRegion = strtolower($sRegion);
  6.  
  7. $aRegion = array(
  8. 'nl' => 'a',
  9. 'ns' => 'b',
  10. 'pe' => 'c',
  11. 'nb' => 'e',
  12. 'qc' => array('g', 'h', 'j'),
  13. 'on' => array('k', 'l', 'm', 'n', 'p'),
  14. 'mb' => 'r',
  15. 'sk' => 's',
  16. 'ab' => 't',
  17. 'bc' => 'v',
  18. 'nt' => 'x',
  19. 'nu' => 'x',
  20. 'yt' => 'y'
  21. );
  22.  
  23. if (preg_match('/[abceghjlkmnprstvxy]/', $sFirst) && !preg_match('/[dfioqu]/', $mValue) && preg_match('/^wdw[- ]?dwd$/', $mValue))
  24. {
  25. if (!empty($sRegion) && array_key_exists($sRegion, $aRegion))
  26. {
  27. if (is_array($aRegion[$sRegion]) && in_array($sFirst, $aRegion[$sRegion]))
  28. {
  29. return true;
  30. }
  31. else if (is_string($aRegion[$sRegion]) && $sFirst == $aRegion[$sRegion])
  32. {
  33. return true;
  34. }
  35. }
  36. else if (empty($sRegion))
  37. {
  38. return true;
  39. }
  40. }
  41.  
  42. return false;
  43. }

以上是关于验证加拿大邮政编码的主要内容,如果未能解决你的问题,请参考以下文章

验证加拿大邮政编码

使用正则表达式验证加拿大邮政编码

如何根据所选国家/地区在 MVC3 中为美国或加拿大邮政编码验证编写自定义验证器?

Java 加拿大邮政编码计划,

美国邮政编码和加拿大邮政编码的 Angular ng-pattern 正则表达式代码 [关闭]

textField 最大长度和邮政编码验证