ofcold / identity-card
A simple proof of identity card of the people's Republic of China.
Installs: 37 691
Dependents: 0
Suggesters: 0
Security: 0
Stars: 189
Watchers: 4
Forks: 30
Open Issues: 2
pkg:composer/ofcold/identity-card
Requires
- php: ^7.4|^8.0
 
Requires (Dev)
- phpunit/phpunit: ^7.1|^8.0|^9.0
 
Suggests
- illuminate/validation: Required to use In laravel, it is recommended to use in versions larger than laravel (^5.5).
 
This package is auto-updated.
Last update: 2025-10-21 08:19:46 UTC
README
China (region) citizen ID card tool
Simplified Chinese Documentation
China (Mainland) ID card package, the data from the national standard
GB/T 2260-2007(People's Republic of China administrative divisions code standard).
Other Language
Installing
composer require ofcold/identity-card
Instructions
A component based on People's Republic of China citizen ID card to obtain the user information.This works for any php framework, but only if the php version is greater than 7.1.
Useing
Useing in Laravel Validation
Multi-language add
Please enter a valid Id Cardto your json language package.
use Ofcold\IdentityCard\Rules\IdCard; /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'id_card' => [ 'required', new IdCard ] ]; }
Verify your Chinese ID card
// Result false OR Ofcold\IdentityCard\IdentityCard instance. $result = Ofcold\IdentityCard\IdentityCard::make('32010619831029081'); if ( $result === false ) { return 'Your ID number is incorrect'; } print_r($result->toArray());
OR test file.
    php test
$idCard = Ofcold\IdentityCard\IdentityCard::make('320106198310290811', 'en'); // Use locale, Current supported zh-cn,en // $idCard = Ofcold\IdentityCard\IdentityCard::make('320106198310290811', 'zh-cn'); if ( $idCard === false ) { return 'Your ID number is incorrect'; } $area = $idCard->getArea(); $gender = $idCard->getGender(); $birthday = $idCard->getBirthday(); $age = $idCard->getAge(); $constellation = $idCard->getConstellation();
Results:
{
    "area": "shan xi sheng yun cheng di qu yun cheng shi",
    "province": "shan xi sheng",
    "city": "yun cheng di qu",
    "county": "yun cheng shi",
    "gender": "Male",
    "birthday": "1980-03-12",
    "zodiac": "Pig",
    "age": 38,
    "constellation": "Pisces"
}
Api
- getArea() : string 
Get Area - getConstellation() : string 
Get constellation - getZodiac() : string 
Get zodiac - getAge() : int 
Get age - getBirthday(string $foramt = 'Y-m-d') : string 
Get birthday - getGender() : string 
Get gender - getCounty() : string|null 
Get county - getCity() : string|null 
Get city - getProvince() : string|null 
Get province - toArray() : array 
Get all information. - toJson(int $option) : string 
Json format all information - __get() : mixed
 - __toString() : toJson
 
CHANGELOG
V3.0.0
- Added Laravel Rule.