Python實(shí)現(xiàn)隨機(jī)生成手機(jī)號及正則驗(yàn)證手機(jī)號的方法
本文實(shí)例講述了Python實(shí)現(xiàn)隨機(jī)生成手機(jī)號及正則驗(yàn)證手機(jī)號的方法。分享給大家供大家參考,具體如下:
依據(jù)
根據(jù)2017年10月份最新的手機(jī)號正則進(jìn)行編碼, 正則如下:
(13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8}
代碼
# -*- coding: utf-8 -*-
import random
def create_phone():
# 第二位數(shù)字
second = [3, 4, 5, 7, 8][random.randint(0, 4)]
# 第三位數(shù)字
third = {
3: random.randint(0, 9),
4: [5, 7, 9][random.randint(0, 2)],
5: [i for i in range(10) if i != 4][random.randint(0, 8)],
7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)],
8: random.randint(0, 9),
}[second]
# 最后八位數(shù)字
suffix = random.randint(9999999,100000000)
# 拼接手機(jī)號
return "1{}{}{}".format(second, third, suffix)
# 生成手機(jī)號
phone = create_phone()
print(phone)
運(yùn)行結(jié)果
13937342780
15835720604
14589505530
...
PS:這里再為打擊推薦一款功能相似的在線工具供大家參考:
在線隨機(jī)生成個(gè)人信息數(shù)據(jù)工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
驗(yàn)證 (使用正則驗(yàn)證)
# -*- coding: utf-8 -*-
import random
import re
def create_phone():
# 第二位數(shù)字
second = [3, 4, 5, 7, 8][random.randint(0, 4)]
# 第三位數(shù)字
third = {
3: random.randint(0, 9),
4: [5, 7, 9][random.randint(0, 2)],
5: [i for i in range(10) if i != 4][random.randint(0, 8)],
7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)],
8: random.randint(0, 9),
}[second]
# 最后八位數(shù)字
suffix = random.randint(9999999,100000000)
# 拼接手機(jī)號
return "1{}{}{}".format(second, third, suffix)
# 生成手機(jī)號
phone = create_phone()
print(phone)
# 正則
reg = re.compile("(13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8}")
print("Test passed!" if reg.match(phone) else "Test failed!")
驗(yàn)證結(jié)果
18662182464
Test passed!15896505277
Test passed!14952715286
Test passed!...
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python正則表達(dá)式用法總結(jié)》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
- python手機(jī)號前7位歸屬地爬蟲代碼實(shí)例
- Python實(shí)現(xiàn)的手機(jī)號歸屬地相關(guān)信息查詢功能示例
- Python抓取手機(jī)號歸屬地信息示例代碼
- Python手機(jī)號碼歸屬地查詢代碼
- Python+Selenium隨機(jī)生成手機(jī)驗(yàn)證碼并檢查頁面上是否彈出重復(fù)手機(jī)號碼提示框
- Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號碼及身份證功能示例
- Python根據(jù)區(qū)號生成手機(jī)號碼的方法
- Python實(shí)現(xiàn)豎排打印傳單手機(jī)號碼易撕條
- Python批量獲取并保存手機(jī)號歸屬地和運(yùn)營商的示例
相關(guān)文章
python數(shù)據(jù)分析工具之 matplotlib詳解
對于 Python 來說,matplotlib 是最著名的繪圖庫,它主要用于二維繪圖,當(dāng)然也可以進(jìn)行簡單的三維繪圖。這篇文章主要介紹了python數(shù)據(jù)分析工具之 matplotlib的相關(guān)知識,需要的朋友可以參考下2020-04-04
用python實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)
這篇文章主要分享的是用python實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu),快速排序、選擇排序、插入排序、歸并排序、堆排序heapq模塊等相關(guān)資料,感興趣的小伙伴可以參考一下2021-12-12
Python sklearn庫實(shí)現(xiàn)PCA教程(以鳶尾花分類為例)
今天小編就為大家分享一篇Python sklearn庫實(shí)現(xiàn)PCA教程(以鳶尾花分類為例),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
python日期與時(shí)間戳的各種轉(zhuǎn)換示例
這篇文章主要介紹了python日期與時(shí)間戳的各種轉(zhuǎn)換示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
Python命令行參數(shù)解析包argparse的使用詳解
argparse?是?python?自帶的命令行參數(shù)解析包,可以用來方便的服務(wù)命令行參數(shù)。本文將通過示例和大家詳細(xì)講講argparse的使用,需要的可以參考一下2022-09-09
python-opencv-cv2.threshold()二值化函數(shù)的使用
這篇文章主要介紹了python-opencv-cv2.threshold()二值化函數(shù)的使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

