首页 >后端开发 >php教程 >如何用PHP正则表达式验证输入字符串是否为正确的统一社会信用代码或组织机构代码格式

如何用PHP正则表达式验证输入字符串是否为正确的统一社会信用代码或组织机构代码格式

PHPz
PHPz原创
2023-06-24 12:52:031790浏览

随着企业的不断发展和壮大,统一社会信用代码和组织机构代码的作用也越来越重要。因此,在开发企业级应用程序时,经常需要使用PHP正则表达式来验证用户输入的统一社会信用代码或组织机构代码是否符合规范,以确保数据的准确性和完整性。本文将介绍如何使用PHP正则表达式来验证统一社会信用代码或组织机构代码的格式。

统一社会信用代码(Unified Social Credit Code,以下简称“统一码”)是国家工商行政管理总局于2015年5月1日实行、由18位数字或大写字母(不包括I、O、Z、S、V)组成的代码。与之前的15位或14位组织机构代码相比,统一码的位数更多、组合更复杂,更能满足企业管理和信息化的需要。

组织机构代码(Organization Code,以下简称“机构码”)是国家标准GB11714-1997中规定的、由9位数字和1位校验码组成的机构编码。机构码是企业经营及相关部门管理的重要代码,在各类商务活动中都有广泛的应用。

为了验证输入的字符串是否为正确的统一码或机构码格式,我们需要先了解其规则。

  1. 统一码格式规则

(1) 第1位为登记管理部门代码,9表示工商部门;

(2) 第2位为组织机构类型代码,1表示机关、2表示事业单位、3表示企业、9表示其他;

(3) 第3位为登记管理机关行政区划码,表示登记管理机关的行政区划码;

(4) 第4位到第17位为本体代码,由数字或大写字母(不包括I、O、Z、S、V)组成,有一定的逻辑规律;

(5) 第18位为校验码,根据ISO 7064:1983.MOD 11-2校验字符计算得出。

  1. 机构码格式规则

(1) 第1位到第8位为登记管理部门代码,由工商行政管理部门颁发;

(2) 第9位为校验码,根据ISO 7064:1983.MOD 11-2校验字符计算得出。

了解规则之后,就可以使用PHP正则表达式来验证字符串了。

  1. 统一码验证正则表达式如下:

$pattern = "/^[1-9]d{5}[1-9A-HJ-NPQRTUWXY]{2}d{6}[0-9A-HJ-NPQRTUWXY]$/";

  1. 机构码验证正则表达式如下:

$pattern = "/^[0-9]{8}[A-Za-z0-9]{1}$/";

其中,/^[1-9]d{5}[1-9A-HJ-NPQRTUWXY]{2}d{6}[0-9A-HJ-NPQRTUWXY]$/是用来验证统一码的正则表达式,/^[0-9]{8}[A-Za-z0-9]{1}$/是用来验证机构码的正则表达式。

我们可以使用preg_match()函数来执行正则表达式并判断输入字符串是否符合规则:

//验证统一码
if(preg_match($pattern, $unified_code)){

echo "输入的统一社会信用代码格式正确";

} else {

echo "输入的统一社会信用代码格式不正确";

}

//验证机构码
if(preg_match($pattern, $organization_code)){

echo "输入的组织机构代码格式正确";

} else {

echo "输入的组织机构代码格式不正确";

}

以上代码中的$unified_code和$organization_code分别为用户输入的统一码和机构码。

总结:

PHP正则表达式可以方便地验证统一码和机构码的格式,为企业级应用程序提供了良好的数据校验和规范化管理功能。开发人员在编写业务逻辑时,应该充分考虑到数据格式的规范性和准确性,保证系统的稳定性和可靠性。

以上是如何用PHP正则表达式验证输入字符串是否为正确的统一社会信用代码或组织机构代码格式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn