用正则表达式来验证QQ号是否合法
import re
#首先我们定义一个函数利用正则表达式来获取QQ号
def testQQ(qq):
pattern = re.compile('[1-9][0-9]{4,10}$')
result = pattern.match(qq)
#如果成功获取返回True
if result:
return True
#反之返回False
else:
return False
'''
通过上面的 textQQ 函数我只能得两种结果:1获取成功 2没有获取
所以我们需要下面的 ischeckQQ 函数来检查QQ号码
检查标准:
1QQ号只能为数字
2目前QQ号只有5到11位数
'''
def ischeckQQ(qq):
if testQQ(qq) == True:
return 'QQ:{} 是合法的'.format(qq)
elif qq.isdigit() == False: #QQ号我使用input函数进行输入,是以字符串形式输入
return 'QQ:{}不全为数字'.format(qq)
elif len(qq) > 11:
return '暂时还没有{}位的QQ号'.format(len(qq))
elif len(qq) < 5:
return '没有5位数以下的的QQ哦!'
else:
'QQ:{} 不合法'.format(qq) if __name__ == '__main__':
while True:
qq = input('请输入QQ:\n')
if qq == 'q':
break
print(ischeckQQ(qq))
运行程序:
请输入QQ:
7770521502
QQ:7770521502 是合法的
请输入QQ:
123
没有5位数以下的的QQ哦!
请输入QQ:
asd7704
QQ:asd7704不全为数字
请输入QQ:
用正则表达式来验证QQ号是否合法的更多相关文章
- js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)
js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...
- 请用正则表达式匹配出QQ号(假设QQ号码为5—10位);
请用正则表达式匹配出QQ号(假设QQ号码为5—10位): 解答: ^ \d{5,10}$
- (转)最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
什么是 RegExp? RegExp 是正则表达式(Regular expression)的缩写,作用是对字符串执行模式匹配. 通常用于格式验证.正则替换.查找子串等 各种编程语言的正则表达式基本相同 ...
- Day_09【常用API】扩展案例7_验证QQ号是否正确
需求说明 请用户输入一个"QQ号码",我们来判断这个QQ号码是否正确 要求:使用方法来完成判断功能 验证规则: 1)必须是5-12位数字: 2)首位不能是0: package co ...
- javascript验证QQ号、邮箱和手机号码
//验证QQ号码5-11位 function isQQ(qq) { var filter = /^\s*[.0-9]{5,11}\s*$/; if (!filter.test(qq)) { retur ...
- 正则表达式检测IP地址与端口号是否合法
正则表达式检测IP地址与端口号是否合法,代码如下: 正则表达式检测IP地址 public static bool CheckAddress(string s) { bool isLegal = fal ...
- 正则表达式判断QQ号格式是否正确
#正在表达式匹配QQ号格式是否正确#QQ号假如长度为5-11位,纯为数字 import rewhile 1: qq=input("请输入QQ号:") result=re.finda ...
- js正则表达式验证身份证号和密码
//验证身份证号只能输入15位或者18位的身份证号 /^\d{14}[X|\d]{1}$|^\d{18}$/ig //验证只能输入字母和数字组合6到16位 /^[a-z][a-z0-9]{6,16}$ ...
- Android 使用正则表达式验证身份证号是否符合规则
我国当前的身份证号分为三种: 一.15位身份证号 二.18位身份证号(前17位位数字,最后一位为字母x) 三.18为身份证号(18位都是数字) 具体验证请参考下面代码: /** * 验证身份证号是否符 ...
随机推荐
- 大数据之路week01--day02我实在时被继承super这些东西搞的头疼,今天来好好整理以下。
这一周的第一天的内容是面向对象的封装,以及对方法的调用.实在时没法单独拿出来单说,就结合这一节一起说了. 我实在是被继承中的super用法给弄的有点晕,程序总是不能按照我想的那样,不是说结果,而是实现 ...
- 大数据之路day01_3--JAVA语言基础(1)
从这里开始,正式进入正轨 1.关键字 2.main main是关键字吗? 不是,他只是一个标识符,只不过有点特殊,虚拟机可以识别. main(主函数)的作用 1:可以保证程序的独立运行 2:是程序的 ...
- 简述JMM
一.很多初学者分不清JMM和JVM的内存模型,本篇只是简要的谈一谈什么是JMM,并不深入探讨. 示意图A: 在多线程操纵共享资源时,并不是对资源本身进行的操作,而是将共享资源的副本复制了一份到自己的私 ...
- 易初大数据 spss 2019年10月31日 wangqingchao
---恢复内容开始--- 1.描述性统计分析方法是指应用分类.制表.图形及概括性数据指标来概括数据分析特征的方法. 2.而推断性统计分析方法则是通过随机抽样,应用统计方法把从样本数据得到的结论推广到总 ...
- PHP根据ip获取地理位置(通过高德地图接口)
PHP根据ip获取地理位置(通过高德地图接口)<pre>//restapi.amap.com/v3/ip?key=2004f145cf3a39a72e9ca70ca4b2a1dc& ...
- java 打包web 项目
1 选择你的web项目 2 右击,选择export 3 选择web下的war file 4 将打包好war包,保存在tomcat的webapps下 5 运行tomcat,tomcat会自动帮你解压这个 ...
- ubantu14.04安装storm伪分布式
1.安装jdk 安装:sudo apt-get install openjdk-7-jdk 配置: 修改文件 sudo nano /etc/profile , 添加以下内容: 立即执行使之生效: 2. ...
- opencv 4 图像处理(漫水填充,图像金字塔与图片尺寸缩放,阈(yu)值化)
漫水填充 实现漫水填充算法:floodFill函数 简单调用范例 #include <opencv2/opencv.hpp> #include <opencv2/imgproc/im ...
- [Part 3] 在Ubuntu 16.04源码编译PCL 1.8.1支持VTK和QT
本文首发于个人博客https://kezunlin.me/post/137aa5fc/,欢迎阅读! Part-3: Install and Configure PCL 1.8.1 with vtk q ...
- mac安装配置Tomcat
一.安装Tomcat 1.首先到官网下载Tomcat:https://tomcat.apache.org/download-90.cgi 2.解压tomcat文件,最好把它文件名重命名为"T ...