designbycode/south-african-id-validator

南非身份证验证器是一个PHP类,用于验证和从南非身份证号码中提取信息。它使用Luhn算法来验证身份证号码,并提供确定个人性别、国籍和出生日期的方法。

v2.0.2 2024-07-20 18:54 UTC

README

Latest Version on Packagist Tests Total Downloads

南非身份证验证器是一个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
)

性别确定

要确定个人的性别,请使用isMaleisFemale方法

$idNumber = '9404260051081';
if ($validator->isMale($idNumber)) {
    echo 'Male';
} else {
    echo 'Female';
}

国籍确定

要确定个人的国籍,请使用isSACitizenisPermanentResident方法

$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方法从身份证号码中提取信息,例如出生日期、年龄、性别和国籍,以填充用户资料或执行分析。

确定性别和国籍

使用isMaleisFemaleisSACitizenisPermanentResident方法确定性别和

测试

composer test

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全漏洞

请查看我们的安全策略了解如何报告安全漏洞。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。