Home > Article > Backend Development > How to verify mobile phone number operator using regular expression in golang
When developing a program, it is often necessary to verify whether the entered mobile phone number is legal and which operator the mobile phone number belongs to. This process can be easily achieved using regular expressions in golang. This article will introduce how to use regular expressions to verify mobile phone number operators in golang.
1. Verify whether the mobile phone number is legal
In golang, you can use regular expressions to verify whether the mobile phone number is legal. The following is a sample code:
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) } }
In the above code, a regular expression for a mobile phone number is first defined, and then the regexp.MustCompile()
method is used to compile it into a regular expression object. Finally, use the MatchString()
method to verify whether the mobile phone number is legal. If the verification is passed, "Mobile phone number xxx is legal" is output, otherwise "Mobile phone number xxx is illegal" is output.
In the above code, the regular expression of the mobile phone number is ^(1[3-9]d{9})$
, which represents an 11-digit number starting with 1. Among them, the second digit is a number between 3 and 9, and the following 10 digits can be any number. The regular expression can be modified as needed to validate mobile phone numbers in a specific format.
2. Verify the operator of the mobile phone number
In golang, you can use the mobile phone number segments of China Telecom, China Unicom and China Mobile to determine the operator of the mobile phone number.
China Telecom’s mobile phone number ranges are: 133, 149, 153, 173, 177, 180, 181, 189, 199;
China Unicom’s mobile phone number ranges are: 130, 131, 132, 145, 155, 156, 166, 175, 176, 185, 186;
China Mobile’s mobile phone number segments are: 134, 135, 136, 137, 138, 139, 147, 148, 150, 151, 152, 157, 158, 159, 165, 172, 178, 182, 183, 184, 187, 188, 198.
The following is a sample code that can output corresponding information according to the operator corresponding to the mobile phone number:
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) } }
In the above code, first verify whether the mobile phone number is legal. If the mobile phone number is legal, the corresponding information will be output based on the first 3 digits corresponding to the mobile phone number.
To sum up, by using regular expressions in golang, mobile phone number verification and operator judgment can be easily achieved. In actual development, the code can be optimized as needed, such as saving regular expressions and the mobile phone number segments of each operator as variables to achieve more flexible verification and judgment.
The above is the detailed content of How to verify mobile phone number operator using regular expression in golang. For more information, please follow other related articles on the PHP Chinese website!