designbycode / south-african-id-validator
南非身份证验证器是一个PHP类,用于验证和从南非身份证号码中提取信息。它使用Luhn算法来验证身份证号码,并提供确定个人性别、国籍和出生日期的方法。
Requires
- php: ^8.1|^8.2|^8.3
- designbycode/luhn-algorithm: ^1.0
- nesbot/carbon: ^3.6
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^2.20
- spatie/ray: ^1.28
This package is auto-updated.
Last update: 2024-09-23 12:30:44 UTC
README
南非身份证验证器是一个PHP类,用于验证和从南非身份证号码中提取信息。它使用Luhn算法来验证身份证号码,并提供确定个人性别、国籍和出生日期的方法。
安装
您可以通过composer安装此包
composer require designbycode/south-african-id-validator
使用
实例化
要使用南非身份证验证器,请创建一个SouthAfricanIdValidator
类的实例
$validator = new SouthAfricanIdValidator();
验证
要验证身份证号码,请使用isValid
方法
$idNumber = '9404260051081'; if ($validator->isValid($idNumber)) { echo 'ID number is valid'; } else { echo 'ID number is invalid'; }
解析
要从有效的身份证号码中提取信息,请使用parse
方法
$idNumber = '9404260051081'; $parsedData = $validator->parse($idNumber); print_r($parsedData);
输出
Array
(
[valid] => 1
[birthday] => Arrya(
'default' => '1978-04-29',
'iso' => '1978-04-29',
'american' => '04/29/1978',
'european' => '04/29/1978',
'long' => 'April 29, 1978',
)
[age] => 28
[gender] => Male
[citizenship] => SA Citizen
)
性别确定
要确定个人的性别,请使用isMale
或isFemale
方法
$idNumber = '9404260051081'; if ($validator->isMale($idNumber)) { echo 'Male'; } else { echo 'Female'; }
国籍确定
要确定个人的国籍,请使用isSACitizen
或isPermanentResident
方法
$idNumber = '9404260051081'; if ($validator->isSACitizen($idNumber)) { echo 'SA Citizen'; } else { echo 'Permanent Resident'; }
方法
isValid(mixed $idNumber): bool
使用Luhn算法验证身份证号码,并检查它是否有13位长度且是数字。
isLength13(mixed $idNumber): bool
检查身份证号码是否有13位长度。
isNumber(mixed $idNumber): bool
检查身份证号码是否是数字。
passesLuhnCheck(mixed $idNumber): bool
使用Luhn算法验证身份证号码。
isMale(mixed $idNumber): bool
确定身份证号码是否为男性。
isFemale(mixed $idNumber): bool
确定身份证号码是否为女性。
isSACitizen(mixed $idNumber): bool
确定身份证号码是否为南非公民。
isPermanentResident(mixed $idNumber): bool
确定身份证号码是否为永久居民。
parse(mixed $idNumber): array
解析身份证号码并返回一个包含以下信息的数组
valid
: 一个布尔值,表示身份证号码是否有效。birthday
: 日期格式为YYYY/MM/DD
的出生日期。age
: 个人的年龄。gender
: 个人的性别(男性或女性)。citizenship
: 个人的国籍状态(南非公民或永久居民)。
用例
在注册表单中验证身份证号码
使用isValid
方法验证注册表单中的身份证号码,以确保只接受有效的身份证号码。
从身份证号码中提取信息
使用parse
方法从身份证号码中提取信息,例如出生日期、年龄、性别和国籍,以填充用户资料或执行分析。
确定性别和国籍
使用isMale
、isFemale
、isSACitizen
和isPermanentResident
方法确定性别和
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全漏洞
请查看我们的安全策略了解如何报告安全漏洞。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。