天天看點

Go驗證身份證号碼

package main

import (
	"regexp"
	"fmt"
)

func IsIdCard(idCard string) (res bool, err error) {
	res, err = regexp.Match("^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$|^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$", []byte(idCard))
	return
}

func main() {
	res, _ := IsIdCard("52242619811105565X")
	if res {
		fmt.Println("驗證通過")
	} else {
		fmt.Println("驗證失敗")
	}
}