Python正則匹配判斷手機號是否合法的方法
正則表達(dá)式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),是計算機科學(xué)的一個概念。正則表達(dá)式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些匹配某個模式的文本。
# 需求
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 numpy中的polyfit函數(shù)用法
這篇文章主要介紹了python numpy中的polyfit函數(shù)用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04python矩陣運算,轉(zhuǎn)置,逆運算,共軛矩陣實例
這篇文章主要介紹了python矩陣運算,轉(zhuǎn)置,逆運算,共軛矩陣實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05使用 Supervisor 監(jiān)控 Python3 進(jìn)程方式
今天小編就為大家分享一篇使用 Supervisor 監(jiān)控 Python3 進(jìn)程方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python計算開方、立方、圓周率,精確到小數(shù)點后任意位的方法
今天小編就為大家分享一篇Python計算開方、立方、圓周率,精確到小數(shù)點后任意位的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07