首頁 後端開發 Golang 如何在golang中使用正規表示式驗證手機號碼運營商

如何在golang中使用正規表示式驗證手機號碼運營商

Jun 24, 2023 am 08:17 AM
正規表示式 手機號碼 營運商

在開發程式時,經常需要驗證輸入的手機號碼是否合法,以及該手機號碼所屬的電信業者。在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})$,它表示以1開頭的11位數。其中,第二位數字為3至9之間的數字,後面10位數字可以是任意數字。可根據需要修改正規表示式,以驗證特定格式的手機號碼。

2.驗證手機號碼所屬運營商

在golang中,可以使用中國電信、中國聯通和中國移動三個運營商的手機號段來判斷手機號碼所屬運營商。

中國電信的手機號碼段為:133、149、153、173、177、180、181、189、199;

中國聯通的手機號碼段為:130、131、 132、145、155、156、166、175、176、185、186;

中國移動的手機號碼段為: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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎麼查手機號碼註冊了哪些東西「詳細講解:手機號碼註冊的APP查詢方法」 怎麼查手機號碼註冊了哪些東西「詳細講解:手機號碼註冊的APP查詢方法」 Feb 07, 2024 am 08:24 AM

不知道大家有沒有這樣一種經歷,手機經常會收到莫名其妙的一些短信,或者是一些網站的註冊信息或者其他的一些驗證信息,實際上可能我們的手機號綁定了很多陌生的網站,我們自己都不知情,那麼今天給大家分享的是教你如何一鍵解除所有陌生的網站綁定。步驟一、打開碼號服務平台這個技巧非常實用。操作步驟如下:開啟微信,點選搜尋框的加號圖標,選擇新增朋友,然後輸入碼號服務平台進行搜尋。我們可以看到有碼號服務平台,當然它是屬於事業單位,是國家信通院推出的,可以幫助大家一鍵解除手機號碼綁定資訊。步驟二、查詢手機是否被標記我

高德地圖手機號碼怎麼換綁_高德地圖手機號碼更換方法詳細介紹 高德地圖手機號碼怎麼換綁_高德地圖手機號碼更換方法詳細介紹 Mar 20, 2024 pm 08:41 PM

高德地圖以其精準的定位和豐富的功能受到了廣大用戶的喜愛。然而,在使用過程中,有時我們可能需要更換綁定的手機號碼,以確保個人資訊和服務的準確性。那麼,高德地圖手機號碼要如何換綁呢?小編整理了一些相關資料,快來跟我一起看看吧!高德地圖手機號碼如何換綁?答案:【高德地圖】-【我的】-【設定圖示】-【帳號與安全】-【手機號碼】-【更換】-【下一步】。具體步驟:1、先打開高德地圖軟體,進入到首頁中我們需要點擊右下角的【我的】;2、然後在我的一秒鐘紅可以看到一些相關的功能,在這裡我們點擊右上角的【設定圖示】;

如何查詢手機號碼的使用狀態?手機號使用時間怎麼查? 如何查詢手機號碼的使用狀態?手機號使用時間怎麼查? Mar 07, 2024 pm 04:30 PM

隨著行動通訊技術的不斷進步,手機號碼已經成為我們日常生活中必不可缺的通訊工具。有時候,我們會需要查詢某個手機號碼的使用狀態,例如驗證該號碼是否已停機或欠款。一、如何查詢手機號碼的使用狀態?與電信商客服取得聯繫是查詢手機號碼使用狀態最直接的方式。不同的業者可能會有不同的查詢方式,但通常可以透過撥打電信業者的客服專線來實現。與客服人員通話時,您只需提供需要查詢的手機號碼,客服人員會提供您詳細的使用狀態資訊。因此,如果您想了解某個手機號碼的具體情況,可以透過撥打電信商客服專線來取得相關資訊。現在有

QQ信箱如何更改手機號碼綁定-QQ信箱更改手機號碼綁定的方法 QQ信箱如何更改手機號碼綁定-QQ信箱更改手機號碼綁定的方法 Mar 04, 2024 pm 03:46 PM

很多小夥伴不知道QQ信箱如何更改手機號碼綁定,所以下面小編就分享了QQ信箱更改手機號碼綁定的方法,一起跟著小編來看看吧,相信對大家會有幫助。第一步:先打開qq信箱,選擇上方的設置,如下圖。第二步:在設定中選擇帳戶選項,如下圖。第三步:選擇立即註銷,如下圖。第四步:登出後,選擇註冊手機號碼信箱帳號。第五步:在出現的介面中選擇註冊其他帳號,如下圖。第六步:根據提示使用新的手機號碼,發送短信,如下圖。第七步:發送完成後,就更改成功了。上面就是小編為大家帶來的QQ信箱如何更改手機號碼綁定的全部內容,希望

PHP正規表示式驗證:數位格式偵測 PHP正規表示式驗證:數位格式偵測 Mar 21, 2024 am 09:45 AM

PHP正規表示式驗證:數位格式偵測在編寫PHP程式時,經常需要對使用者輸入的資料進行驗證,其中一個常見的驗證是檢查資料是否符合指定的數字格式。在PHP中,可以使用正規表示式來實現這種驗證。本文將介紹如何使用PHP正規表示式來驗證數字格式,並提供具體的程式碼範例。首先,讓我們來看看常見的數字格式驗證要求:整數:只包含數字0-9,可以以正負號開頭,不包含小數點。浮點

如何使用正規表示式在 Golang 中驗證電子郵件地址? 如何使用正規表示式在 Golang 中驗證電子郵件地址? May 31, 2024 pm 01:04 PM

若要使用正規表示式在Golang中驗證電子郵件地址,請執行下列步驟:使用regexp.MustCompile建立正規表示式模式,以符合有效的電子郵件地址格式。使用MatchString函數檢查字串是否與模式相符。此模式涵蓋了大多數有效的電子郵件地址格式,包括:局部使用者名稱可以包含字母、數字和特殊字元:!.#$%&'*+/=?^_{|}~-`網域至少包含一個字母,後面可以跟字母、數字或連字符頂級域名(TLD)不能超過63個字符長

如何在 Go 中使用正規表示式匹配時間戳記? 如何在 Go 中使用正規表示式匹配時間戳記? Jun 02, 2024 am 09:00 AM

在Go中,可以使用正規表示式比對時間戳記:編譯正規表示式字串,例如用於匹配ISO8601時間戳記的表達式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數檢查字串是否與正規表示式相符。

华为、河北联通将推出 iFTTR 星光 F50'云龍套餐”,提供全屋 3000Mbps Wi-Fi 覆盖 华为、河北联通将推出 iFTTR 星光 F50'云龍套餐”,提供全屋 3000Mbps Wi-Fi 覆盖 Apr 10, 2024 am 09:04 AM

4月9日消息,华为、河北联通明日举行云龍套餐暨星光F50推介会,面向广大河北家庭用户正式推出云龍套餐。据介绍,华为星光F50光猫可提供全屋3000M的Wi-Fi7网络覆盖,将整个Wi-Fi虚拟成一个超级Wi-Fi热点,实现10毫秒漫游无感切换,数据0丢包,支持视频通话无卡顿。星光F50在背部新增了一块SSD硬盘,采用了本地、云端双备份的形式实现用户数据存储功能,官方将其命名为“iFTTR全光家庭存储”,用户可通过“碰一碰”实现相册备份和数据存储。注意到,星光F50的主光猫升级了2.5G网口,并配

See all articles