Golang에서 정규식을 사용하여 입력이 중국 본토 주민 ID 번호인지 확인하는 것은 Go 언어의 내장 정규식 라이브러리 regexp에 있는 정규식 일치 함수 MatchString()을 사용하여 수행할 수 있습니다.
중국 본토의 주민등록번호는 18자리와 문자로 구성됩니다. 처음 17자리는 지역번호와 생년월일이고 마지막 자리는 체크코드입니다. 입력된 ID 번호가 유효한지 확인하려면 ID 번호의 형식 요구 사항을 충족하는지 확인해야 합니다.
다음은 입력이 ID 번호의 형식 요구 사항을 충족하는지 여부를 일치시키는 데 사용되는 기본 정규식입니다.
^([1-9]\d{5})(\d{4})(0[1-9]|1[0-2])([0-2][1-9]|[1-3]\d|4[0-6]|5[0-2])(\d{3})(\d|[Xx])$
그중 ^는 입력 문자열의 시작을 나타내고, $는 입력 문자열의 끝을 나타내며, ( )는 다음과 같은 일치하는 부분을 나타냅니다.
위의 정규식을 코드에 작성합니다.
func isIDCardNumber(str string) bool { regIDCard := "^([1-9]\d{5})(\d{4})(0[1-9]|1[0-2])([0-2][1-9]|[1-3]\d|4[0-6]|5[0-2])(\d{3})(\d|[Xx])$" reg := regexp.MustCompile(regIDCard) return reg.MatchString(str) }
위의 코드에서 Regexp.MustCompile() 메서드를 사용하여 정규식을 Regexp 인스턴스로 컴파일한 다음 reg.MatchString() 메서드를 사용하여 일치시킵니다. 입력 문자열 .
마지막으로 프로그램에서 이 함수를 사용하여 입력이 유효한 ID 번호인지 확인합니다.
func main() { idCardNumber := "411281199601017891" // 合法身份证号码 if isIDCardNumber(idCardNumber) { fmt.Println("输入是有效的身份证号码") } else { fmt.Println("输入不是有效的身份证号码") } }
간단히 말하면 Golang의 정규식을 사용하여 중국 본토 주민 ID 번호를 확인하면 합법성과 정확성을 보장할 수 있습니다. 보다 완전한 애플리케이션을 개발하기 위한 기반입니다.
위 내용은 golang에서 정규식을 사용하여 입력이 중국 본토 주민 ID 번호인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!