''' QQ的特征: 1.最少5位,最长11位 2.5位的是10001起始 3.一般以QQ:/qq:开始 ''' #先导入re模块 import re def checkQQ(str): # 正则表达式 pattern = r"qq:[1-9]\d{4,10}" res = re.findall(pattern,str,re.I) return print(res)import re
''' 邮箱地址: 1.xxx(不定长)@xx(不定长).com/cn ''' import re def checkMail(str): # pattern = "\w+@[0-9a-zA-z]+\.[com,cn]{1,2}" #在findall中存在括号会返回元组 #要匹配所有类型的邮箱地址,用到或的时候[com,net,cn]{1,3} pattern = r"\w{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}" res = re.findall(pattern,str,re.I) return print(res)
''' 手机号码: 1.总长度11位 2.第一位为1,第二位为[3-9],第3-11位[0-9] ''' import re def checkMobile(strData): #正则表达式pattern pattern = r"^1[3-9]\d{9}$" res = re.findall(pattern,strData) return print(res)
''' 中华人民共和国身份证ID Card: 5 11222 1 9 93 22 23 701 X 第一位 表示[1-6] 第2-6位 表示[0-9]{5}或\d{5} 第7位 [12] 第8,9,10位 [0-9]{3} 或 \d{3} 第11,12位 (0[1-9]|1[12]) 第13,14位 (0[1-9]|1[0-9]|2[0-9]|3[01]) 第15,16,17位 [0-9]{3}或 \d{3} 第18位 [0-9]|X|x或 (\d|X|x) ''' import re pattern = r"^[1-6]\d{5}[12]\d{3}(0[1-9]|1[12])(0[1-9]|1[0-9]|2[0-9]|3[01])\d{3}(\d|X|x)$" strData = input("请输入您的身份证号:") res = re.match(pattern,strData) print(res)