プログラムを開発する際、入力された携帯電話番号が正規のものであるか、またその携帯電話番号がどの事業者のものであるかを確認する必要があることがよくあります。このプロセスは、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 は不正です」と出力されます。
上記のコードでは、携帯電話番号の正規表現は ^(1[3-9]d{9})$
で、次で始まる 11 桁の数字を表します。 1.このうち、2桁目は3~9の数字で、続く10桁は任意の数字になります。正規表現は必要に応じて変更して、特定の形式で携帯電話番号を検証できます。
2. 携帯電話番号の事業者を確認する
golang では、China Telecom、China Unicom、China Mobile の携帯電話番号セグメントを使用して、携帯電話の事業者を判断できます。番号。
チャイナテレコムの携帯電話番号範囲は: 133、149、153、173、177、180、181、189、199;
チャイナユニコムの携帯電話番号範囲: 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) } }
上記のコードでは、まず携帯電話番号が正当なものであるかどうかを確認します。携帯電話番号が正当な場合、携帯電話番号に対応する最初の 3 桁に基づいて、対応する情報が出力されます。
まとめると、golangでは正規表現を利用することで、携帯電話番号の認証とオペレーターの判定が簡単に実現できます。実際の開発では、正規表現や事業者ごとの携帯電話番号セグメントを変数として保存するなど、必要に応じてコードを最適化することで、より柔軟な検証・判断を実現します。
以上がgolangで正規表現を使用して携帯電話番号の演算子を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。