python代码:
注意是手机号不包括座机号
import re
# 编写正则表达式
phre = re.compile('^(13\d|14[5|7]|15\d|166|17[0|3|6|7]|18\d)\d{8}$')
# 开头必须是: 13* 145 147 15* 166 170 173 176 177 18* (此*表示一位数字)
# 结尾必须是: 8位数字(除去开头3位后)
# 正则表达式可以根据实际需要写
# 循环,只是为了方便测试,可以去掉
while True:
phid = input('input:') # 输入手机号至phid变量
res = re.search(phre, phid) # 进行正则表达式匹配
if res: # 判断
print('yes') # 是正确的
else: # 否则
print('no') # 不是正确的