designbycode/south-african-id-validator
Composer 安装命令:
composer require designbycode/south-african-id-validator
包简介
The South African ID Validator is a PHP class that validates and extracts information from South African ID numbers. It uses the Luhn Algorithm to validate the ID number and provides methods to determine the gender, citizenship, and birthdate of the individual.
README 文档
README
The South African ID Validator is a PHP class that validates and extracts information from South African ID numbers. It uses the Luhn Algorithm to validate the ID number and provides methods to determine the gender, citizenship, and birthdate of the individual.
Installation
You can install the package via composer:
composer require designbycode/south-african-id-validator
Usage
Instantiation
To use the South African ID Validator, create an instance of the SouthAfricanIdValidator class:
$validator = new SouthAfricanIdValidator();
Validation
To validate an ID number, use the isValid method:
$idNumber = '9404260051081'; if ($validator->isValid($idNumber)) { echo 'ID number is valid'; } else { echo 'ID number is invalid'; }
Parsing
To extract information from a valid ID number, use the parse method:
$idNumber = '9404260051081'; $parsedData = $validator->parse($idNumber); print_r($parsedData);
Output:
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
)
Gender Determination
To determine the gender of the individual, use the isMale or isFemale methods:
$idNumber = '9404260051081'; if ($validator->isMale($idNumber)) { echo 'Male'; } else { echo 'Female'; }
Citizenship Determination
To determine the citizenship of the individual, use the isSACitizen or isPermanentResident methods:
$idNumber = '9404260051081'; if ($validator->isSACitizen($idNumber)) { echo 'SA Citizen'; } else { echo 'Permanent Resident'; }
Methods
isValid(mixed $idNumber): bool
Validates the ID number using the Luhn Algorithm and checks if it has a length of 13 digits and is numeric.
isLength13(mixed $idNumber): bool
Checks if the ID number has a length of 13 digits.
isNumber(mixed $idNumber): bool
Checks if the ID number is numeric.
passesLuhnCheck(mixed $idNumber): bool
Validates the ID number using the Luhn Algorithm.
isMale(mixed $idNumber): bool
Determines if the ID number is for a male.
isFemale(mixed $idNumber): bool
Determines if the ID number is for a female.
isSACitizen(mixed $idNumber): bool
Determines if the ID number is for a South African citizen.
isPermanentResident(mixed $idNumber): bool
Determines if the ID number is for a permanent resident.
parse(mixed $idNumber): array
Parses the ID number and returns an array with the following information:
valid: A boolean indicating if the ID number is valid.birthday: The birthdate in the formatYYYY/MM/DD.age: The age of the individual.gender: The gender of the individual (Male or Female).citizenship: The citizenship status of the individual (SA Citizen or Permanent Resident).
Use Cases
Validating ID numbers in a registration form
Use the isValid method to validate ID numbers in a registration form to ensure that only valid ID numbers are accepted.
Extracting information from ID numbers
Use the parse method to extract information from ID numbers, such as birthdate, age, gender, and citizenship, to populate user profiles or perform analytics.
Determining gender and citizenship
Use the isMale, isFemale, isSACitizen, and isPermanentResident methods to determine the gender and
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
designbycode/south-african-id-validator 适用场景与选型建议
designbycode/south-african-id-validator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 67 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 06 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「designbycode」 「south-african-id-validator」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 designbycode/south-african-id-validator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 designbycode/south-african-id-validator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 designbycode/south-african-id-validator 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The Luhn Algorithm is a simple checksum formula used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, and others. This documentation provides an overview of the Luhn Algorithm implementation in PHP, including examples and use cases.
The Business Name Generator is a PHP class that generates business names based on a combination of adjectives and nouns. It provides a flexible and customizable way to generate business names that can be used for various purposes.
The Reviews class is a part of the Designbycode namespace and is used to fetch reviews, rating, and user ratings total of a place using the Google Places API. It requires a Google Maps API key and a Google Maps place ID to make requests.
The LevenshteinDistance class provides a method to calculate the Levenshtein distance between two strings. The Levenshtein distance is a measure of the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one word into the other.
Create eloquent datatables
This package is the backend implementation for creating datatables for Laravel modal.
统计信息
- 总下载量: 67
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 34
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-06-19