中国(大陆)公民身份证类 | 工具类篇
github/alicfeng/IdentityCard
方法
- 获取周岁
- 获取生日
- 获取性别
- 获取生肖
- 获取星座
- 根据出生年月日获取年龄
- 根据出生年月日获取星座
- 构建生成身份证图片正反面( 支持自定义身份证背景图 )
- 根据身份证获取省、市、区
安装
在项目composer.json
添加依赖,如下:
"require": {
"alicfeng/identity-card": "~3.0"
}
或者直接通过CLI
安装,如下:
composer require "alicfeng/identity-card" -vvv
版本更新说明
V1.0
在版本1.0
中,证件号码错误都是返回false
。V2.0
在版本2.0
中添加异常捕获机制,证件错误将返回异常,只有c::validate($id)
方法返回bool
值。V2.3
在版本2.3
添加了一个新功能,可以提供身份证信息生成身份证图片。注意:图片的大小为:865 * 540 px
V3.0 2019.06.25
在版本3.0
添加了根据省份正号码获取省、市、区行政地区中文名称。
行政地区编码源于中华人民共和国民政部,更新于2019-06-21
。V3.1.0 - 2020.02.23
行政地区编码源于中华人民共和国民政部,更新于 2020-02-19。
同时更新了内部实现的机制,调用的方法已经改变了,但是兼容低版本,建议更新旧的调用方法,将于2020.08.01不再支持旧的sdk
使用
use AlicFeng\IdentityCard\InfoHelper;
$id = 'IdentityCard';
# 获取周岁 |
$age = InfoHelper::identityCard()->age($id);
# 获取生日
$birthday = InfoHelper::identityCard()->birthday($id);
# 获取性别 | {男为M | 女为F}
$sex = InfoHelper::identityCard()->sex($id);
# 获取生肖
$constellation = InfoHelper::identityCard()->constellation($id);
# 获取星座
$star = InfoHelper::identityCard()->star($id);
# 获取星座
$star = InfoHelper::birthday()->star($birthday);
# 获取年龄
$age = InfoHelper::birthday()->age($id);
# 生成身份证正面
$front = InfoHelper::identityCard()->createFrontImage(...);
# 生成身份证反面
$back = InfoHelper::identityCard()->createBackImage(...);
# 获取省
$province = InfoHelper::identityCard()->province($id, $default='');
# 获取市
$city = InfoHelper::identityCard()->city($id, $default='');
# 获取区
$area = InfoHelper::identityCard()->area($id, $default='');
本作品采用《CC 协议》,转载必须注明作者和本文链接
价值源于技术,贡献源于分享 | 笔记分享归档
No matter where I am, I will reply you immediately when I see the email.
My Email: echo "YUBzYW1lZ28uY29tCg==" | base64 -d
个人比较喜欢分享,若有不对的地方非常感谢指出
相互学习、共同进步~
本帖由系统于 5年前 自动加精
谢谢,不用造轮子了~
@wanghan 价值源于技术,技术源于分享,相互学习 :smile:
@AlicFeng 看了看源码,真是下功夫写的,大写的赞!
@wanghan :smile: :smile:thx for your praise~
建议
return false
改成throw new Exception
good!
@Outlaws 非常感谢!已经在
x2.0
版本上添加了证件异常捕获机制~@zIym thx~
赞一个
先收藏码住 万一用的到呢
@王某人的用户名 :smiley: :smiley:
@AlicFeng 你好,这个包对性别的判断好像有点问题,比如411524199409081480这个是女,用sex函数打印出来是M
@houmuxu 非常抱歉!这是计算性别的时候出现了bug,程序已经修复了,请通过更新或者重新安装这个包来解决这个问题。
610125199409255533
试试这个身份证号码,验证不过去
@大毛 没有问题呀~是报了什么异常吗
@AlicFeng :sweat_smile:非常抱歉,看错位置了,应该提交到
https://github.com/godruoyi/laravel-idcard-validator
这个库的,看的太多,眼花了,抱歉。。。 :pray:这里是不是有点问题?
@AlicFeng @LOST 星座的临界值有点问题 :joy:
不错 :+1:
可以根据身份证号码获取 用户真实姓名吗?
@gyp719 本来之前是想做这个的,但是没有找到可以通过证件号查询真实姓名的接口,目前这个实现不了。
@AlicFeng 这个可以
@gyp719 这个是二要素校验( 身份证 以及 名字 ) ,就是校验身份证和名字是否匹配,像这种的有很多,你提的这个,我记得还有极认证、newapi等都是。
请问图片怎么生成不了呢
@juju
为什么我没找到 privince 、city、area这三个方法呢?
能否加一个根据出生日期获取生肖
@gyp719 可以的,明天可以迭代上这个