【PHP】社会统一信用代码正则验证

2023-12-19 21:58:33

在PHP中,可以使用以下正则表达式来验证社会统一信用代码(18位):

$pattern = '/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/i';

这个正则表达式的含义是:

  • ^:开始符号,表示字符串的开始。
  • [0-9A-HJ-NPQRTUWXY]{2}:匹配两位大写字母或数字,这些字母不包括"I"、"O"、"Z"、"S"、"V"。
  • \d{6}:匹配六位数字。
  • [0-9A-HJ-NPQRTUWXY]{10}:匹配十位大写字母或数字,同样不包括"I"、"O"、"Z"、"S"、"V"。
  • $:结束符号,表示字符串的结束。
  • /i:标志,表示匹配时忽略字母的大小写。

在实际使用时,你可以将此正则表达式用于字符串的匹配或验证,例如:

$socialCreditCode = '91110105MA01N37Y1G';
if (preg_match($pattern, $socialCreditCode)) {
    echo "社会统一信用代码格式正确";
} else {
    echo "社会统一信用代码格式错误";
}

请注意,这个正则表达式只检查了社会统一信用代码的长度和格式,但并没有进行更深入的合法性验证,如校验地区码、组织机构代码等。如果你需要进行更严格的验证,可能需要结合其他的验证方法或算法。

文章来源:https://blog.csdn.net/q8688/article/details/135089160
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。