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

在開發程式時,經常需要驗證輸入的手機號碼是否合法,以及該手機號碼所屬的電信業者。在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
如何在 iPhone 上手动选择运营商网络如何在 iPhone 上手动选择运营商网络Apr 16, 2023 am 09:34 AM

如何在iPhone上手动选择蜂窝运营商网络无论您的iPhone运行的是什么iOS软件,您都可以按照以下步骤在您的iPhone上手动选择您的网络提供商。从iPhone的主屏幕转到“设置”。在设置菜单中,向下滚动并点击“蜂窝”继续。接下来,选择位于个人热点设置下方的“网络选择”选项,如下面的屏幕截图所示。在这里,您会看到网络选择设置为自动。在切换开关上点击一次以将其更改为手动。您需要等待几秒钟才能显示所有可用的网络。现在,只需选择您的运营商或合作网络提供商进行国际漫游,您就可以开始了。你去

php怎么去除字符串中的所有大写字母php怎么去除字符串中的所有大写字母Sep 26, 2022 pm 07:59 PM

两种去除方法:1、利用preg_replace()执行正则表达式搜索所有大写字母并将其替换为空字符即可,语法“preg_replace('/[A-Z]/','',$str)”。2、利用preg_filter()执行正则表达式搜索所有大写字母并将其替换为空字符即可,语法“preg_filter('/[A-Z]/','',$str)”。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

iPhone 13 上的最后一行不再可用错误:9 种修复方法iPhone 13 上的最后一行不再可用错误:9 种修复方法Apr 28, 2023 pm 06:40 PM

苹果上个月大约在同一时间发布了iOS15和iPhone13机型,用户对该公司提供的产品直言不讳,有些人赞不绝口,而另一些人则相当批评。用户面临的问题之一是电话应用程序中不时弹出“最后一行不再可用”错误。在此页面上,我们将解释此错误的全部内容以及您如何能够自行修复它们。为什么我的iPhone13上出现“最后一行不再可用”错误?当用户第一次激活iPhone13时,它似乎会弹出“最后一行不再可用”错误。根据之前的例子,这个问题似乎是一个与某些较新iPhone上的e-SIM功能有

Counterpoint 研究:2022 年是全球 eSIM 生态里程碑年,超过 260 家运营商支持 eSIMCounterpoint 研究:2022 年是全球 eSIM 生态里程碑年,超过 260 家运营商支持 eSIMApr 01, 2023 am 10:56 AM

本站 3 月 31 日消息,Counterpoint 发布研究报告称,Amdocs 成为 eSIM 设计领域的领导者,是平台完整性方面最全面的市场参与者。Moflix、Lotusflare、IDEMIA 和 Truphone 被评为挑战者,正成为端到端 eSIM 设计能力领域的新兴领导者。10T Tech、泰雷兹、G+D、Workz、红茶移动和 Oasis Smart SIM 被评为黑马,他们正与不同参与者合作,共同提供 eSIM 设计解决方案。诺基亚、爱立信、HPE、Valid、Achelos

运营商锁sim卡已锁什么意思运营商锁sim卡已锁什么意思Jan 31, 2023 pm 05:04 PM

运营商锁sim卡已锁的意思是手机卡已经被锁定了。原因:用户输入PIN密码错误次超过三次,导致SIM卡自动锁定,无法使用。解决办法:1、使用PUK码解锁;2、用手机解除SIM卡密码的软件强制解除密码;3、去大型的营业厅,找客服人员帮忙解锁。

中国联通 2024 年 5 月 5G 套餐用户累计达 2.74 亿户中国联通 2024 年 5 月 5G 套餐用户累计达 2.74 亿户Jun 20, 2024 pm 10:44 PM

感谢网友我抢了台的线索投递!6月20日消息,中国联通刚刚发布公告,公布了其5月份运营数据。截至2024年5月份,中国联通“大联接”用户累计到达数约10.53亿户,5G套餐用户累计2.74亿户,物联网终端连接累计达5.51亿户。注:“大联接”用户累计到达数=移动出账用户累计到达数+固网宽带用户累计到达数+固网本地电话用户累计到达数+物联网终端连接累计到达数+组网专线用户累计到达数。中国移动今日也发布公告,5月移动业务方面客户总数累计到达9.9844亿户净增107.8万户,其中5G网络客户数达5.0

华为、河北联通将推出 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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

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

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。