手机号码,邮箱,身份证号码简单正则表达式匹配

手机号码的正则表达式

import re
pattern = "^1[3-8]\d{9}$"
str = "13667865555"
res = re.findall(pattern,str)
print(res)
邮箱的正则表达式--随意邮箱

pattern = "^[a-z0-9][a-z0-9_]+@[a-z0-9_]+\.[a-z0-9_]+"
str = "2345sdsaf__sa@sss.comss"
res = re.findall(pattern,str)
print(res)
身份证号码的正则表达式--仅格式--没有验证作用
分析:
第1位: 1-9  不能以0开头  [1-9]
第2-5位: 0-9 随意数字  \d{5}
年-第1位: 1或者2   [12]
年-第2-4位: 0-9 000-999  [0-9]{3}
月 : 第1个为0时第2个为1-9,第1个为1时第2个为0-2   (0[1-9])|(1[0-2])
日 : 第1个为0时第2个为1-9,第1个为1时第2个为0-9,第1个为2时第2个为0-9,第1个为3时第2个为0-1  (0[1-9])|([12]\d)|(3[01])
最后四位: 前3位: 0-9 最后1位: 可以为X,x,0-9   X|x|\d

pattern =r"^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(X|\d))$"
idNum = "350124198310131229"
res = re.findall(pattern,idNum)
print(res)





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值