Python正則匹配判斷手機(jī)號是否合法的方法
正則表達(dá)式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),是計算機(jī)科學(xué)的一個概念。正則表達(dá)式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些匹配某個模式的文本。
# 需求
1、定義一個函數(shù),用于判斷輸入的手機(jī)號是否合法
2、并判斷它的運營商
# 思路步驟:
1.首先了解三大運營商的號段分布
2.獲取用戶輸入內(nèi)容
3.判斷輸入是否是一個手機(jī)號
4.如果手機(jī)號合法,判斷該手機(jī)號段的運營商
5.輸出
import re
def phone():
n = input("請輸入一個手機(jī)號:")
if re.match(r'1[3,4,5,7,8]\d{9}',n):
print("您輸入的的手機(jī)號碼是:\n",n)
#中國聯(lián)通:
# 130,131,132,155,156,185,186,145,176
if re.match(r'13[0,1,2]\d{8}',n) or \
re.match(r"15[5,6]\d{8}",n) or \
re.match(r"18[5,6]",n) or \
re.match(r"145\d{8}",n) or \
re.match(r"176\d{8}",n):
print("該號碼屬于:中國聯(lián)通")
#中國移動
# 134, 135 , 136, 137, 138, 139, 147, 150, 151,
# 152, 157, 158, 159, 178, 182, 183, 184, 187, 188;
elif re.match(r"13[4,5,6,7,8,9]\d{8}",n) or \
re.match(r"147\d{8}|178\d{8}",n) or \
re.match(r"15[0,1,2,7,8,9]\d{8}",n) or \
re.match(r"18[2,3,4,7,8]\d{8}",n):
print("該號碼屬于:中國移動")
else:
#中國電信
#133,153,189
print("該號碼屬于:中國電信")
else:
print("請輸入正確的手機(jī)號")
if __name__ == '__main__':
phone()
# 運行效果如下:

以上這篇Python正則匹配判斷手機(jī)號是否合法的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
教你利用Python玩轉(zhuǎn)histogram直方圖的五種方法
這篇文章主要給大家介紹了關(guān)于如何利用Python玩轉(zhuǎn)histogram直方圖的五種方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
一文讓你徹底搞懂Python中__str__和__repr__
這篇文章主要介紹了Python中的__str__和__repr__的異同,__str__和__repr__是基本的內(nèi)置方法,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀下2023-05-05
python3.7將代碼打包成exe程序并添加圖標(biāo)的方法
這篇文章主要介紹了python3.7將代碼打包成exe程序并添加圖標(biāo)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-10-10
python實現(xiàn)逆序輸出一個數(shù)字的示例講解
今天小編就為大家分享一篇python實現(xiàn)逆序輸出一個數(shù)字的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python實現(xiàn)飛機(jī)大戰(zhàn)小游戲
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11

