프로그램을 개발하다 보면 입력한 휴대폰 번호가 합법적인지, 해당 휴대폰 번호가 어느 통신사에 속해 있는지 확인해야 하는 경우가 많습니다. 이 프로세스는 golang의 정규식을 사용하여 쉽게 달성할 수 있습니다. 이 글에서는 golang에서 정규식을 사용하여 휴대전화 번호 사업자를 확인하는 방법을 소개합니다.
1. 휴대폰 번호가 적법한지 확인
golang에서는 정규식을 사용하여 휴대폰 번호가 적법한지 확인할 수 있습니다. 다음은 샘플 코드입니다.
package main import ( "fmt" "regexp" ) func main() { // 手机号码正则表达式 mobileExp := `^(1[3-9]d{9})$` // 编译正则表达式 mobileReg := regexp.MustCompile(mobileExp) // 测试手机号码 mobile := "13212345678" if mobileReg.MatchString(mobile) { fmt.Printf("手机号码 %s 合法 ", mobile) } else { fmt.Printf("手机号码 %s 不合法 ", mobile) } }
위 코드에서는 휴대폰 번호에 대한 정규식을 먼저 정의한 후 regexp.MustCompile()
메서드를 사용하여 이를 정규식 객체. 마지막으로 MatchString()
메서드를 사용하여 휴대폰 번호가 유효한지 확인합니다. 인증에 성공하면 "휴대폰 번호 xxx은(는) 합법적입니다"가 출력되고, 그렇지 않으면 "휴대폰 번호 xxx은(는) 불법입니다"가 출력됩니다. regexp.MustCompile()
方法将其编译为正则表达式对象。最后使用MatchString()
方法验证手机号码是否合法。如果验证通过,则输出“手机号码 xxx 合法”,否则输出“手机号码 xxx 不合法”。
在上述代码中,手机号码的正则表达式为^(1[3-9]d{9})$
^(1[3-9]d{9})$
로, 1로 시작하는 11자리 숫자를 나타냅니다. 그 중 두 번째 자리는 3~9 사이의 숫자이고, 다음 10자리는 어떤 숫자도 될 수 있다. 특정 형식의 휴대폰 번호를 확인하기 위해 필요에 따라 정규식을 수정할 수 있습니다. 2. 휴대폰 번호의 통신사 확인golang에서는 차이나텔레콤, 차이나유니콤, 차이나모바일의 휴대폰 번호 세그먼트를 이용하여 휴대폰 번호의 통신사를 확인할 수 있습니다. China Telecom의 휴대전화 번호 범위는 133, 149, 153, 173, 177, 180, 181, 189, 199입니다. China Unicom의 휴대전화 번호 범위는 130, 131, 132, 145, 155, 156, 166, 175, 176, 185, 186; China Mobile의 휴대폰 번호 범위는 134, 135, 136, 137, 138, 139, 147, 148, 150, 151, 152, 157, 158, 159, 165, 172, 178, 182, 183, 184, 187, 188, 198. 다음은 해당 휴대폰 번호에 해당하는 통신사에 따라 해당 정보를 출력할 수 있는 샘플 코드입니다. package main import ( "fmt" "regexp" ) func main() { // 手机号码正则表达式 mobileExp := `^(1[3-9]d{9})$` // 编译正则表达式 mobileReg := regexp.MustCompile(mobileExp) // 测试手机号码 mobile := "13412345678" if mobileReg.MatchString(mobile) { if mobile[0:3] == "133" || mobile[0:3] == "149" || mobile[0:3] == "153" || mobile[0:3] == "173" || mobile[0:3] == "177" || mobile[0:3] == "180" || mobile[0:3] == "181" || mobile[0:3] == "189" || mobile[0:3] == "199" { fmt.Printf("手机号码 %s 是中国电信", mobile) } else if mobile[0:3] == "130" || mobile[0:3] == "131" || mobile[0:3] == "132" || mobile[0:3] == "145" || mobile[0:3] == "155" || mobile[0:3] == "156" || mobile[0:3] == "166" || mobile[0:3] == "175" || mobile[0:3] == "176" || mobile[0:3] == "185" || mobile[0:3] == "186" { fmt.Printf("手机号码 %s 是中国联通", mobile) } else if mobile[0:3] == "134" || mobile[0:3] == "135" || mobile[0:3] == "136" || mobile[0:3] == "137" || mobile[0:3] == "138" || mobile[0:3] == "139" || mobile[0:3] == "147" || mobile[0:3] == "148" || mobile[0:3] == "150" || mobile[0:3] == "151" || mobile[0:3] == "152" || mobile[0:3] == "157" || mobile[0:3] == "158" || mobile[0:3] == "159" || mobile[0:3] == "165" || mobile[0:3] == "172" || mobile[0:3] == "178" || mobile[0:3] == "182" || mobile[0:3] == "183" || mobile[0:3] == "184" || mobile[0:3] == "187" || mobile[0:3] == "188" || mobile[0:3] == "198" { fmt.Printf("手机号码 %s 是中国移动", mobile) } else { fmt.Printf("手机号码 %s 不是中国电信、中国联通或中国移动", mobile) } } else { fmt.Printf("手机号码 %s 不合法 ", mobile) } }
위 내용은 golang에서 정규식을 사용하여 휴대폰 번호 연산자를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!