Python正則匹配判斷手機號是否合法的方法
正則表達式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達式、規(guī)則表達式、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),是計算機科學(xué)的一個概念。正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些匹配某個模式的文本。
# 需求
1、定義一個函數(shù),用于判斷輸入的手機號是否合法
2、并判斷它的運營商
# 思路步驟:
1.首先了解三大運營商的號段分布
2.獲取用戶輸入內(nèi)容
3.判斷輸入是否是一個手機號
4.如果手機號合法,判斷該手機號段的運營商
5.輸出
import re
def phone():
n = input("請輸入一個手機號:")
if re.match(r'1[3,4,5,7,8]\d{9}',n):
print("您輸入的的手機號碼是:\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("請輸入正確的手機號")
if __name__ == '__main__':
phone()
# 運行效果如下:

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

