• Stars
    star
    157
  • Rank 238,399 (Top 5 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

China ID number validator. - 中国身份证号验证器。

id-validator

简体中文 | ENGLISH

China ID number validator. - 中国身份证号验证器。

tests codecov Go Report Card GoDoc GitHub release GitHub go.mod Go version GitHub repo size GitHub all releases GitHub license

功能

  • 验证中国身份证号
  • 获取身份证号信息
  • 升级 15 位身份证号为 18 位
  • 伪造符合校验的身份证号

环境要求

  • Go >= 1.14

安装

$ go get -u github.com/guanguans/id-validator

使用

这只是一个快速介绍, 请查看 GoDoc 获得详细信息。

package main

import (
    idvalidator "github.com/guanguans/id-validator"
    "gopkg.in/ffmt.v1"
)

func main() {
    // 验证身份证号合法性
    ffmt.P(idvalidator.IsValid("500154199301135886", true))  // 严格模式验证大陆居民身份证18位
    ffmt.P(idvalidator.IsValid("500154199301135886", false)) // 非严格模式验证大陆居民身份证18位
    ffmt.P(idvalidator.IsValid("11010119900307803X", false)) // 大陆居民身份证末位是X18位
    ffmt.P(idvalidator.IsValid("610104620927690", false))    // 大陆居民身份证15位
    ffmt.P(idvalidator.IsValid("810000199408230021", false)) // 港澳居民居住证18位
    ffmt.P(idvalidator.IsValid("830000199201300022", false)) // 台湾居民居住证18位

    // 获取身份证号信息
    ffmt.P(idvalidator.GetInfo("500154199301135886", true))  // 严格模式获取身份证号信息
    ffmt.P(idvalidator.GetInfo("500154199301135886", false)) // 非严格模式获取身份证号信息
    // []interface {}[
    //     github.com/guanguans/id-validator.IdInfo{          // 身份证号信息
    //         AddressCode: int(500154)                           // 地址码
    //         Abandoned:   int(0)                                // 地址码是否废弃:1为废弃的,0为正在使用的
    //         Address:     string("重庆市市辖区开州区")             // 地址
    //         AddressTree: []string[                             // 省市区三级列表
    //             string("重庆市")                                    // 省
    //             string("市辖区")                                    // 市
    //             string("开州区")                                    // 区
    //         ]
    //         Birthday:      <1993-01-13 00:00:00 +0800 CST>     // 出生日期
    //         Constellation: string("摩羯座")                     // 星座
    //         ChineseZodiac: string("酉鸡")                       // 生肖
    //         Sex:           int(0)                              // 性别:1为男性,0为女性
    //         Length:        int(18)                             // 号码长度
    //         CheckBit:      string("6")                         // 校验码
    //     }
    //     <nil>                                              // 错误信息
    // ]

    // 生成可通过校验的假身份证号
    ffmt.P(idvalidator.FakeId())                                  // 随机生成
    ffmt.P(idvalidator.FakeRequireId(true, "江苏省", "200001", 1)) // 生成出生于2000年1月江苏省的男性居民身份证

    // 15位号码升级为18位
    ffmt.P(idvalidator.UpgradeId("610104620927690"))
    // []interface {}[
    // 	string("610104196209276908") // 升级后号码
    // 	<nil>                        // 错误信息
    // ]
}

测试

$ make test

变更日志

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

贡献指南

请参阅 CONTRIBUTING 有关详细信息。

安全漏洞

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

贡献者

相关项目

参考资料

协议

MIT 许可证(MIT)。有关更多信息,请参见协议文件

More Repositories

1

favorite-link

❤️ 每天收集喜欢的开源项目 | RSS 订阅 | 快知 app 订阅
Python
2,026
star
2

notes

📔 Linux、MySQL、Nginx、PHP、Git、Shell 等笔记
JavaScript
1,983
star
3

notify

推送通知 sdk(Bark、Chanify、钉钉群机器人、Discord、邮件、飞书群机器人、Gitter、Google Chat、iGot、Logger、Mattermost、Microsoft Teams、Now Push、Ntfy、PushBack、Push、PushDeer、Pushover、PushPlus、QQ 频道机器人、Rocket Chat、Server 酱、Showdoc Push、Slack、Telegram、Webhook、企业微信群机器人、息知、一封传话、Zulip)。
PHP
486
star
4

music-dl

Music Searcher and Downloader. - 音乐搜索下载器。
PHP
418
star
5

dnmp-plus

🐳Docker的LNMP一键安装开发环境 + PHP非侵入式监控平台xhgui(优化系统性能、定位Bug神器)
Shell
288
star
6

laravel-soar

SQL optimizer and rewriter for laravel. - laravel 的 SQL 优化器和重写器。
PHP
167
star
7

soar-php

SQL optimizer and rewriter. - SQL 优化器、重写器(辅助 SQL 调优)。
PHP
158
star
8

ai-commit

Automagically generate conventional git commit messages with AI. - 使用 AI 自动生成约定式 git 提交信息。
PHP
87
star
9

think-soar

SQL optimizer and rewriter extension package for thinkphp5/6 framework.
PHP
80
star
10

laravel-exception-notify

Laravel 中异常监控报警通知(Bark、Chanify、钉钉群机器人、Discord、飞书群机器人、邮件、PushDeer、QQ 频道机器人、Server 酱、Slack、Telegram、企业微信群机器人、息知)。
PHP
69
star
11

guanguans.github.io

guanguans 博客
51
star
12

yii-pay

适配于 Yii 的 alipay 和 wechat 的支付扩展包
PHP
42
star
13

dcat-login-captcha

dcat admin login captcha. - dcat admin 登录验证码。
PHP
33
star
14

laravel-dump-sql

Assist laravel application to obtain complete sql statement. - 辅助 laravel 应用获取完整的 sql 语句。
PHP
31
star
15

laravel-skeleton

laravel 模板仓库。
PHP
22
star
16

coole

Coole is a PHP framework built on open source components. - Coole 是一个基于开源组件包构建的 PHP 框架。
PHP
19
star
17

yii-event

Elegant usage events in Yii. - 在 Yii 中优雅的使用事件。
PHP
13
star
18

yii-log-target

Multiple channels of Yii exception notification(Bark、Chanify、DingTalk、FeiShu、ServerChan、WeWork、XiZhi). - 多种通道的 Yii 异常通知(Bark、Chanify、钉钉群机器人、飞书群机器人、Server 酱、企业微信群机器人、息知)。
PHP
9
star
19

yii-var-dumper

Bringing the symfony/var-dumper to Yii. - 将 symfony/var-dumper 集成到 Yii。
PHP
7
star
20

laravel-code-runner

Run the PHP code in the browser. - 在浏览器中运行 PHP 代码。
PHP
7
star
21

package-skeleton

A PHP package template repository. - 一个 PHP 软件包模板存储库。
PHP
7
star
22

tiny-yii

简化版 Yii2,只保留 Yii2 最核心的部分(base),便于深入理解 Yii2。
PHP
7
star
23

swoole-chat

基于 ThinkPHP5 和 Swoole 开发的聊天室
PHP
6
star
24

yii-goaop

Bringing the goaop/framework to Yii. - 将 goaop/framework 集成到 Yii。在 Yii 中优雅的面向切面编程。
PHP
6
star
25

yii-jpush

适配于 Yii 的极光推送 SDK
PHP
5
star
26

poetry

基于 Coole 开发部署在 Vercel 上的免费诗词 API 接口。
Twig
5
star
27

design-patterns-php

设计模式 PHP 示例代码。
PHP
5
star
28

valet-drivers

A list of drivers for laravel-valet. - laravel-valet 的驱动列表。
PHP
5
star
29

guanguans-php-ext

一个简单的 PHP 扩展
C
5
star
30

eii

Core component separated from Yii2. - 从 Yii2 分离出来的核心组件。
PHP
5
star
31

di

A flexible dependency injection container based on the modification of illuminate/container. - 一个灵活的基于 illuminate/container 修改的依赖注入容器。
PHP
5
star
32

pipeline

An elegant PHP middleware pipeline. - 一个优雅的 PHP 中间件管道。
PHP
3
star
33

go-skeleton

A Go package template repository. - 一个 Go 软件包模板存储库。
Go
3
star
34

yii-dingtalk

适配于 Yii 的钉钉 SDK
PHP
2
star
35

graph-bed

Graph bed
2
star
36

json-format

Format json string.
PHP
2
star
37

upptime

📈 Uptime monitor and status page for guanguans, powered by @upptime
Markdown
2
star
38

dcloud-app-pay

DCloud app 支付 SDK
PHP
2
star
39

laravel-proxy-manager

Proxy Manager integration for Laravel. - Laravel 的代理管理器集成。
PHP
2
star
40

guanguans

2
star
41

uploadfile

通用文件上传类
PHP
2
star
42

translator

Go
1
star
43

monorepo-builder-worker

List of release worker collections for symplify/monorepo-builder.
PHP
1
star
44

stackedit

stackedit
1
star