괴발개발 성장기
반응형

사이드 프로젝트/오픈소스 5

[golang] 주민등록번호 유효성 모듈 Update - 태어나지 않은 사람은 통과되지 않는다.

# 배경 1993년생이 실수로 7번째자리 수를 3으로 했다. 그리고 나머지 수를 아무거나하니까 통과했다. # 문제가 되는 등록번호 930905-3111111 # 원인 3,4인 경우 생년월이 20년 10월보다는 커야하고 현재 년,월보다는 작아야한다. nowDate := time.Now().Format("0601") nowYear := time.Now().Format("2006") seventhDigit := regNum[6:7] == "3" || regNum[6:7] == "4" if regNum[0:4] >= "2010" && regNum[0:4]

[golang] 주민등록번호 유효성 모듈Update - 한글은 통과되지 않게 하기

# 배경 주민등록번호를 작성하는 사람이 실수로 한글을 넣어서 유효성 검사에 통과하는 경우가 있었다. 그래서 정규식을 도입시켰다. # 통과됐던 예시 9008013sksksk # 정규식 - 앞에 2자리는 0-9까지 사용 가능하다 - 3번째 자리는 0 아니면 1 => 01월~12월까지니까 - 4,6번째 자리는 0-9 - 5번째 자리는 0-3 => 제일 큰 수 31일이니까 - 7번째 자리는 1-9 - 나머지는 0-9 r, _ := regexp.Compile("[0-9]{2}[0-1][0-9][0-3][0-9][1-9][0-9]{6}") 숫자로만 설정을 했다. # 참조 https://github.com/YooGenie/validate-registration-number/issues/7 한글이 통과돼서 정규식을 설..

[golang] 주민등록번호와 외국인등록번호 유효성 검사 모듈 업데이트

# 배경 2020년 10월 이후 주민등록번호, 외국인등록번호의 규칙이 변경되었다. 뒤자리 6자리가 임의번호로 바뀌었다. # 내용 앞자리 2010 이후인 사람은 7번째자리수가 3,4,7,8만 가능하도록 했다. 3 (한국남성), 4(한국여성), 7(외국인남성), 8(외국인여성)이다. # 코드 seventhDigit := regNum[6:7] == "3" || regNum[6:7] == "4" || regNum[6:7] == "7" || regNum[6:7] == "8" if regNum[0:4] >= "2010" && seventhDigit { return true } # 참조 이슈 https://github.com/YooGenie/validate-registration-number/issues/3 2020..

[golang] 주민등록번호와 외국인등록번호 유효성 검사 패키지

# registration-number 주민등록번호와 외국인번호 유효성 검사하는 모듈 # 설치방법 go get -u github.com/YooGenie/validate-registration-number # Description 주민등록번호 입력만 해서 유효성 검사(regNum 숫자 13자리 입력) func ResidentRegistrationNumber(regNum string) bool { return bool } 외국인등록번호 입력만 해서 유효성 검사(regNum 숫자 13자리 입력) func ForeignerRegistrationNumber(regNum string) bool { return bool } * 국적타입과 등록번호 입력하면 외국인등록번호와 주민등록번호 유효성 검사(regNum 숫자 1..

[golang] 사업자번호 유효성 검사하는 패키지 배포

사업자번호 유효성검사 코드는 1년전에 수습때 만들었던 코드이다. 규칙을 보고 짠 던 기억이 있다. 회사에서 npm으로 배포하는 걸 보고 go언어로 된 것도 깃허브에 올려야겠다는 생각을 했다. # 패키지 설치 go get -u github.com/YooGenie/validate-business-number # 사용법 사업자 번호넣어서 호출하면 false, true 값으로 나온다 check := validate.BusinessNumber("1234567890") # 사업자번호 체크하는 코드 func BusinessNumber(bisNo string) bool { var arrCheckNum = []int{1, 3, 7, 1, 3, 7, 1, 3, 5} sum := 0 if len(bisNo) == 10 { ..

반응형