python判斷給定的手機號是否存在
阿新 • • 發佈:2018-12-08
今天在註冊一個學習網站的時候手機號輸錯了,系統直接就提醒請輸出正確的手機號,於是就想用python做一個手機號合法性識別的程式,實踐起來也很簡單,就不多解釋了,如下:
#!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:判斷手機號是否存在 中國聯通手機號頻段: 130,131,132,155,156,185,186,145,176 中國移動手機號頻段: 134, 135 , 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 178, 182, 183, 184, 187, 188 中國電信手機號頻段: 133,153,189 ''' import re import sys import os def judgePhoneNumberRight(phoneNum): ''' 判斷指定的手機號是否存在 ''' if len(str(phoneNum))!=11: flag=False else: if not str(phoneNum).isdigit(): flag=False else: phone_rule=re.compile('^0\d{2,3}\d{7,8}$|^1[358]\d{9}$|^147\d{8}') res_list=re.findall(phone_rule,str(phoneNum)) if res_list: flag=True else: flag=False if flag: print '{} is right!'.format(phoneNum) else: print '{} is wrong!'.format(phoneNum) if __name__=='__main__': phoneNum='13465787' judgePhoneNumberRight(phoneNum) phoneNum='145203922X3' judgePhoneNumberRight(phoneNum) phoneNum='14520392233' judgePhoneNumberRight(phoneNum) phoneNum='15762351234' judgePhoneNumberRight(phoneNum)
結果如下:
13465787 is wrong!
145203922X3 is wrong!
14520392233 is wrong!
15762351234 is right!