基于python的-使用正则表达式验证手机号
基于python的-使用正则表达式验证手机号
由于要用到手机号验证,所以索性写一个简单的手机号验证的代码。
1 import re 2 3 4 def main(): 5 tel = input("请输入手机号:") 6 # ret = re.match(r"1[35678]\d{9}", tel) 7 # 由于手机号位数大于11位也能匹配成功,所以修改如下: 8 ret = re.match(r"^1[35678]\d{9}$", tel) 9 10 if ret: 11 print("匹配成功") 12 else: 13 print("匹配失败") 14 15 16 if __name__ == "__main__": 17 main()
【正则表达式】分析如下:
手机号都为11位,所以必须限定匹配的数字的位数,通过$来限定以9位数字结尾,
又因为手机号都以1开头,所以通过^1限定以1开头,
然后手机号第二位貌似只有3,5,6,7,8,这几个数字,所以通过[3,5,6,7,8]来匹配其中的任一数字,
最后{9}匹配9个/d。
【补】:/d 表示匹配数字