Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
guanguans 7526156f27 Add ffmt pirms 3 gadiem
.github Update github config files pirms 3 gadiem
data Wip pirms 3 gadiem
examples Add ffmt pirms 3 gadiem
.editorconfig Build the basic skeleton pirms 3 gadiem
.gitattributes Build the basic skeleton pirms 3 gadiem
.gitignore Add feature testing pirms 3 gadiem
CHANGELOG.md Build the basic skeleton pirms 3 gadiem
LICENSE Build the basic skeleton pirms 3 gadiem
Makefile Update Makefile pirms 3 gadiem
README.md Add ffmt pirms 3 gadiem
checker.go Fix `fake` method pirms 3 gadiem
feature_test.go Update github config files pirms 3 gadiem
generator.go Update go.mod pirms 3 gadiem
go.mod Add ffmt pirms 3 gadiem
go.sum Add ffmt pirms 3 gadiem
helper.go Update go.mod pirms 3 gadiem
id_validator.go Update README.md pirms 3 gadiem

README.md

id-validator

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

Tests gocover.io Go Report Card GoDoc GitHub release GitHub license

Requirement

  • Go >= 1.11

Installation

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

Usage

This is just a quick introduction, view the GoDoc for details.

Let’s start with a trivial example:

package main

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

func main() {

	// 验证身份证号合法性
	ffmt.P(idvalidator.IsValid("440308199901101512"))  // 大陆居民身份证18位
	ffmt.P(idvalidator.IsValid("610104620927690"))     // 大陆居民身份证15位
	ffmt.P(idvalidator.IsValid("810000199408230021"))  // 港澳居民居住证18位
	ffmt.P(idvalidator.IsValid("830000199201300022"))  // 台湾居民居住证18位

	// 获取身份证号信息
	ffmt.P(idvalidator.GetInfo("440308199901101512"))
	// []interface {}[
	// 	github.com/guanguans/id-validator.IdInfo{          // 身份证号信息
	// 		AddressCode: int(440308)                           // 地址码
	// 		Abandoned:   int(0)                                // 地址码是否废弃:1为废弃的,0为正在使用的
	// 		Address:     string("广东省深圳市盐田区")             // 地址
	// 		AddressTree: []string[                             // 省市区三级列表
	//			string("广东省")                                    // 省
	//			string("深圳市")                                    // 市
	//			string("盐田区")                                    // 区
	//		]
	// 		Birthday:      <1999-01-10 00:00:00 +0000 UTC>     // 出生日期
	// 		Constellation: string("摩羯座")                     // 星座
	// 		ChineseZodiac: string("卯兔")                       // 生肖
	// 		Sex:           int(1)                              // 性别:1为男性,0为女性
	// 		Length:        int(18)                             // 号码长度
	// 		CheckBit:      string("2")                         // 校验码
	// 	}
	// 	<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>                        // 错误信息
	// ]
}

Testing

$ go 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.