From 90c80aab719704084478d5c3853efa4e73522707 Mon Sep 17 00:00:00 2001 From: huanghai <10402852@qq.com> Date: Mon, 6 Jul 2020 11:07:12 +0800 Subject: [PATCH] 'commit' --- ...本周工作总结(2020-07-03) .mmap | Bin 0 -> 37479 bytes dsBaseRpc/Utils/IdCardUtil/IdCardUtil.go | 178 +----------------- dsBaseRpc/go.mod | 1 + dsBaseRpc/go.sum | 2 + 4 files changed, 6 insertions(+), 175 deletions(-) create mode 100644 Document/大数据组本周工作总结(2020-07-03) .mmap diff --git a/Document/大数据组本周工作总结(2020-07-03) .mmap b/Document/大数据组本周工作总结(2020-07-03) .mmap new file mode 100644 index 0000000000000000000000000000000000000000..5aa6b6bc72b4e39b51c7cffa0c052b4876ff6856 GIT binary patch literal 37479 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 TDU 12 || nDay <= 0 || nDay > 31 { - return false - } - - curYear, curMonth, curDay := time.Now().Date() - if nYear == curYear { - if nMonth > int(curMonth) { - return false - } else if nMonth == int(curMonth) && nDay > curDay { - return false - } - } - - if 2 == nMonth { - if IsLeapYear(nYear) && nDay > 29 { - return false - } else if nDay > 28 { - return false - } - } else if 4 == nMonth || 6 == nMonth || 9 == nMonth || 11 == nMonth { - if nDay > 30 { - return false - } - } - - return true -} - -// Check province code valid. -func CheckProvinceValid(IdCardNo []byte) bool { - provinceCode := make([]byte, 0) - provinceCode = append(provinceCode, IdCardNo[:2]...) - provinceStr := string(provinceCode) - - for i, _ := range validProvince { - if provinceStr == validProvince[i] { - return true - } - } - - return false -} // Check IdCard number valid. func IsValidIdCardNo(IdCardNo *[]byte) bool { - nLen := len(*IdCardNo) - if nLen != 15 && nLen != 18 { - return false - } - - for i, v := range *IdCardNo { - n, _ := strconv.Atoi(string(v)) - if n >= 0 && n <= 9 { - continue - } - - if v == 'X' && i == 16 { - continue - } - - return false - } - - if !CheckProvinceValid(*IdCardNo) { - return false - } - - if nLen == 15 { - *IdCardNo = IdCard15To18(*IdCardNo) - if IdCardNo == nil { - return false - } - } else if !IsValidIdCardNo18(IdCardNo) { - return false - } - - nYear, _ := strconv.Atoi(string((*IdCardNo)[6:10])) - nMonth, _ := strconv.Atoi(string((*IdCardNo)[10:12])) - nDay, _ := strconv.Atoi(string((*IdCardNo)[12:14])) - if !CheckBirthdayValid(nYear, nMonth, nDay) { - return false - } - - return true + var id = IdNumber.New(string(*IdCardNo)) + return id.IsValid() } // Get information from IdCard number. Birthday, gender, province mask. diff --git a/dsBaseRpc/go.mod b/dsBaseRpc/go.mod index 208fedee..d2e9d2e9 100644 --- a/dsBaseRpc/go.mod +++ b/dsBaseRpc/go.mod @@ -15,6 +15,7 @@ require ( github.com/anacrolix/sync v0.2.0 // indirect github.com/apache/thrift v0.13.0 // indirect github.com/armon/go-metrics v0.3.3 // indirect + github.com/bluesky335/IDCheck v0.0.0-20200319021444-08ee85bfcb7b github.com/bndr/gotabulate v1.1.2 // indirect github.com/buger/jsonparser v0.0.0-20200322175846-f7e751efca13 // indirect github.com/cao-guang/pinyin v0.0.0-20190927081849-38872b67965d diff --git a/dsBaseRpc/go.sum b/dsBaseRpc/go.sum index ac4b1a0f..8d878995 100644 --- a/dsBaseRpc/go.sum +++ b/dsBaseRpc/go.sum @@ -99,6 +99,8 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bluesky335/IDCheck v0.0.0-20200319021444-08ee85bfcb7b h1:qJpZ1/QxjgYzxvCo2ylIBfgzm6X34pfquB6Qe9dr1+Y= +github.com/bluesky335/IDCheck v0.0.0-20200319021444-08ee85bfcb7b/go.mod h1:PD4Jsv8cyK6DDv/UlGpnr4qmIq1+2ii5xSGgBfO1Sho= github.com/bndr/gotabulate v1.1.2 h1:yC9izuZEphojb9r+KYL4W9IJKO/ceIO8HDwxMA24U4c= github.com/bndr/gotabulate v1.1.2/go.mod h1:0+8yUgaPTtLRTjf49E8oju7ojpU11YmXyvq1LbPAb3U= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=