用戶名匹配
1.用戶名匹配:由數字、大小寫字母、下劃線_、中橫線-組成,長度為6-12位,不能以數字開頭。
import re
username='ab578_-SDF'
result=re.search('^[a-zA-Z_-][0-9a-zA-Z_-]{5,12}$',username)
print(result)
郵箱
2.驗證輸入的郵箱:163、126、qq
email1='t_hedq@163.com'
email3='3056166240@qq.com'
email2='13456@126.com'
r=re.compile(r'^[1-9a-zA-Z]\w{1,}@(163|126|qq)(\.com)$')
result1=r.search(email1)
result2=r.search(email2)
result3=r.search(email3)
print(result1)
print(result2)
print(result3)
手機號碼
- 驗證不是以4、7結尾的11位手機號碼
phone='18941112897'
result=re.search(r'\d{10}[^47]$',phone)
print(result)
數字
4.匹配0-100之間的數字,(包含0和100)
number='0'
result=re.fullmatch(r'(0|^[1-9]\d{0,2})',number)
print(result)
提取手機號碼
5.分別提取電話號碼的區號和號碼
phone='086-18942897293'
r=re.search('(\d{3})-(\d{11})',phone)
print(r.group(0))
print(r.group(1))
print(r.group(2))
匹配身份證號
6.匹配身份證號
#第一位1-9
#后面5位數字0-9
#年份:1或2開頭,后面三位數字0-9
#月份:0開頭接1-9或1開頭接012
#日期:0開頭接1-9或1、2開頭接0-9或3開頭接0,1
#3位數字0-9
#最后一位為數字或X或x
number='510681200104090627'
result=re.search(r'^[1-9]\d{5}[12]\d{3}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])\d{3}[0-9xX]$',number)
print(result)