说明
提供18位身份证号码自动生成、有效性校验、信息解析、随机生成生日、根据生日获取年龄。可和idcardocr识别身份证号码插件结合获取用户行政区域名称、生日、年龄、性别信息。
插件库代码下载:https://goflys.cn/codedetail?id=57
插件函数调用
1.随机生成生日
idcardno.RandBirthDay()
2.根据生日获取年龄
birthDayYMD:="19840823"
idcardno.GetAgeByBirthDayYMD(birthDayYMD)
3.身份证号码自动生成
idcardno.AutoCreate18IdCardNo()
4.身份证号码有效性校验
idNo := "xxx"
idcardno.Validate18IdCardNo(idNo)
5.身份证号码信息解析,包含行政区域名称、生日、年龄、性别
idNo := "xxx"
result, info := idcardno.Parse18IdCardNoInfo(idNo)
if result {fmt.Println(fmt.Sprintf("%v", *info))
}
接口调用示例:
package createcodeimport ("gofly/utils/gf""gofly/utils/plugin"
)// 后端代码模版
type Test struct{}func init() {fpath := Test{}gf.Register(&fpath, fpath)
}// 身份证号码信息解析,包含行政区域名称、生日、年龄、性别
func (api *Test) GetIdCardInfo(c *gf.GinCtx) {idno := c.DefaultQuery("idno", "")if idno == "" {gf.Failed().SetMsg("参数idno不能为空").Regin(c)return}result, info := plugin.Parse18IdCardNoInfo(idno)if !result {gf.Failed().SetMsg("身份证号码信息解析失败").Regin(c)return}gf.Success().SetMsg("身份证号码信息解析成功").SetData(info).Regin(c)
}
用接口请求工具请求:http://localhost:8200/business/createcode/test/getIdCardInfo?idno=37292419840823003X 即可。
返回结果:
{"idCardNo": "37292419840823003X","areaCode": "372924","areaName": "山东省菏泽地区成武县","birthDayYMD": "19840823","age": 40,"sex": 1
}