如何校验一个QQ号码案例

黑盒测试 ------ 等价类划分法 文章目录等价类划分法等价类划分概念:等价类的分类等价类思考步骤例子等价类划分的总结 等价类划分法 计算器:到底输入几组数据才算测试完毕? 答案:一个一个测试效率低下,所以一定要分类测试。 1、整数(在范围内的整数-99到99)取最大、最小、中间 2、小数(在范围内的整数-99到99) 3、符号(±/,。、!@#¥%……&()) 5、汉字 6、空格 7、不输入(空) 通过上面的描述,我们发现... 阅读详情

如何校验一个QQ号码案例

校验QQ号码:
1:要求必须是5到15位数字
2:0不能开头
分析:
A:键盘录入一个QQ号
B:写一个功能实现校验
C:调用功能,输出结果

package itcast01;
import java.util.Scanner;
public class RegexDemo {
public static void main(String[] args) {
    try (//创建键盘录入对象
		Scanner sc = new Scanner(System.in)) {
			System.out.println("请输入你的QQ号:");
			String qq = sc.nextLine();
			
			System.out.println("CheckQQ:"+checkQQ(qq));
		}
	}

/*
 *   写一个功能实现校验 
 *   两个明确:
 *          明确返回值类型:Boolean
 *          明确参数列表:String qq
 */
public static boolean checkQQ(String qq) {
	boolean flag = true;
	       //校验长度
     	  if(qq.length()>=5 && qq.length()<=15) {
		 //0不能开头
		 if(!qq.startsWith("0")) {
		//必须是数字
		char[] chs = qq.toCharArray();
		for (int x =0;x<chs.length;x++) {
		char ch = chs[x];
		if(!Character.isDigit(ch)) {
		flag = false;
		break ;
		}}}
		else{
		flag = false;
			}
		     }else 
		     {
			flag = false;
		     }
         return flag;
}}

正则表达式的概述和基本使用

正则表达式
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
即符合一定规则的字符串

package itcast01;
import java.util.Scanner;
public class RegexDemo2 {
public static void main(String[] args) {
	try (Scanner sc = new Scanner(System.in)) {
		System.out.println("请输入你的QQ号:");
		String qq = sc.nextLine();
		System.out.println("CheckQQ:"+checkQQ(qq));
	}
}
public static boolean checkQQ(String qq) {
//	String regex = "[1-9][0-9]{4,14}";
//	//public boolean matches (String regex)告知此字符串是否匹配给定的正则表达式
//	boolean flag= qq.matches(regex);
//	return flag ;
//	return qq.matches("[1-9][0-9]{4,14}");
	return qq.matches("[1-9]\\d{4,14}");
}
}

正则表达式的组成规则

A:字符
x 字符 x .举例:‘a’表示字符a
\反斜线字符
\n 新行(换行)符(’\u000A’)
\r 回车符(‘\u000D’)

B:字符类
[abc] a,b,或从(简单类)
[^abc] 任何字符,除了a,b或从(否定)
[a-zA-Z] a到z或A到Z,两头的字母包括在内(范围)

C:预定义字符类
. 任何字符。我的就是,字符本身,怎么表示呢? .
\d 数字: [0-9]
\w 单词字符:[a-zA-Z_0-9]
在正则表达式里面组成单词的东西必须由这些东西组成

D:边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
就是不是单词字符的地方
举例:hello world?haha;xixi

E:Greedy 数量词
X?X,一次或一次也没有
X*X ,零次或多次
X+X,一次或多次
X{n} X,恰好n次
X{n,} X,至少n次
X{n,m} X,至少n次,但是不超过m次

正则表达式的应用

判断功能

public boolean matches(String regex)

分割功能

public String[] split(String regex)

替换功能

public String replaceAll(String regex,String replacement)

获取功能

Pattern和类的使用

判断功能:
String类的public boolean matches(String regex)

需求:
判断手机号码是否满足要求?

分析:
A:键盘录入手机号码
B:定义手机号码的规则
15229294562
12546789256
12345678926
12976758204
17729876053
15229095090
C:调用功能,判断即可
D:输出结果

package itcast02;
import java.util.Scanner;
public class RegexDemo {
public static void main(String[] args) {
	//键盘录入数据
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入你的手机号码");
	String phone = sc.nextLine();
	//定义手机号的规则
	String regex  = "1[38]\\d{9}";
	//调用功能,判断即可
	boolean flag = phone.matches(regex);
	//输出结果
	System.out.println("flag:"+flag);
}   
}

校验邮箱
分析:
A:键盘录入邮箱
B:定义邮箱的规则
15178065800@qq.com
liuyi@163.com
linqinxia@126.com
fenqingyang@sina.com.cn
fqy@itcast.cn
C:调用功能,判断即可
D:输出结果

package itcast02;
import java.util.Scanner;
public class RegexTest {
public static void main(String[] args) {
	//键盘录入邮箱
	Scanner sc = new Scanner (System.in);
	System.out.println("请输入邮箱:");
	String email = sc.nextLine();
	
	//定义邮箱的规则
	//String regex = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,6}(\\.[a-zA-Z_0-9]{2,3})+";
	 String regex = "\\w+@\\w{2,6}(\\.\\w{2,3})+";
	//调用功能,判断即可
	boolean flag = email.matches(regex);
	//输出结果
	System.out.println("flag:"+flag);	
}
}

分割功能:
String类的public String[] split(String regex)
public String[] split(String regex)
举例:
百合网,世纪佳缘网,珍爱网, QQ
搜索好友
性别:女
范围:“18-24”
age>=18 && age<=24

package itcast03;
import java.util.Scanner;
public class RegexDemo {
public static void main(String[] args) {
	//定义一个年龄搜索范围
	String  ages = "18-24";
	
	
	//定义规则
	String regex = "-";
	
	//调用方法
	String[] strArray = ages.split(regex);
	
//	//遍历
//	for (int x =0;x<strArray.length;x++) {
//		System.out.println(strArray[x]);
//	
//	}
	//如何得到int类型的呢?
	int starAge = Integer.parseInt(strArray[0]);
	int endAge = Integer.parseInt(strArray[1]);
	 //键盘录入年龄
	Scanner sc = new Scanner (System.in);
	System.out.println("请输入你的年龄:");
	int age = sc.nextInt();
	
	if(age >= starAge&&age<=endAge) {
		System.out.println("你就是我想要的");	
	}else {
		System.out.println("不符合我的要求:gun");
	}
	}
    }

分割功能练习

package itcast03;
public class RegexDemo2 {
public static void main(String[] args) {
	//定义一个字符
	String s1 = "aa,bb,cc";
	//直接分割
	String [] str1Array = s1.split(",");
	for (int x = 0;x < str1Array.length;x++) {
		System.out.println(str1Array[x]);
	}
	System.out.println("---------");
	
	String s2 = "aa.bb.cc";
	String [] str2Array = s2.split("\\.");
	for (int x = 0;x < str2Array.length;x++) {
		System.out.println(str2Array[x]);
	}
	System.out.println("---------");
	
	String s3 = "aa   bb  cc";
	String [] str3Array = s3.split("    +");
	for (int x = 0;x < str3Array.length;x++) {
		System.out.println(str3Array[x]);
	}
	System.out.println("---------");
	
	String s4 = "C:\\Windows\\addins";
	String [] str4Array = s4.split("\\\\");
	for (int x = 0;x < str4Array.length;x++) {
		System.out.println(str4Array[x]);
	}
	System.out.println("---------");
}
}

分割练习:
我有如下一个字符串:“91 27 46 38 50”
请写代码实现最终输出结果是:“27 38 46 50 91”

分析:
A:定义一个字符串
B:把字符串进行分割,得到一个字符串数组
C:把字符串数组变换成int数组
D:对int数组排序
E:把排序后的int数组在组装成一个字符串
F:输出字符串

package itcast03;
import java.util.Arrays;
public class RegexTest {
public static void main(String[] args) {
	//定义字符串
	String s = "91 27 46 38 50";
	//把字符串进行分割,得到一个字符串数组
	String [] strArray = s.split(" ");
	//把字符串数组变换成int数组
	int[] arr = new int [strArray.length];
	for(int x =0;x<arr.length;x++) {
		arr[x] = Integer.parseInt(strArray[x]);
		
		
	}
	//对int数组排序
	Arrays.sort(arr);
	//把排序后的int数组在组装成一个字符串
	StringBuilder sb = new StringBuilder();
	for (int x =0;x<arr.length;x++) {
		sb.append(arr[x]).append(" ");
		
	//转化为字符串
		String result = sb .toString().trim();
		//输出字符串
		System.out.println("result:"+result);
		
	}
}
}

替换功能:
String类的public String replaceAll(String regex,String replacement)
使用给定的replacement 替换此字符串所有匹配给定的正则表达式的子字符串

package itcast04;
public class RegexDemo {
public static void main(String[] args) {
	//定义一个字符串
	String s = "helloqq123456789worldkh987456123java";
	//我要去除所有的数字,用*给替换掉
	//String regex = "\\d+";
//	String regex = "\\d";
//	
//	String ss = "*";
	//直接把数字干掉
	String  regex = "\\d+";
	String ss = "";
	String result = s.replaceAll(regex,ss);
	System.out.println(result);
}
}

获取功能:
Pattern和Matcher类的使用

模式和匹配器的基本使用顺序

package itcast05;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexDemo {
public static void main(String[] args) {
	//模式和匹配器的典型调用顺序
	//把正则表达式编译成模式对象
	Pattern p = Pattern.compile("a*b");
	//通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串
	Matcher m = p.matcher("aaaaab");
	//调用匹配器对象的功能
	
	boolean b = m.matches();
	System.out.println(b);
	
	//这个是判断功能,但是如果做判断,这样做就有点麻烦了,我们直接用字符串的方法做
	String s = "aaaaab";
	String regex = "a*b";
	boolean bb = s.matches(regex);
	System.out.println(bb);
}
}

获取功能练习:
获取下面这个字符串中由三个字符组成的单词
da jia ting wo shuo , jin tian xia da yu ,bu shang wan zi xi , gao xing ma ?

package itcast05;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexDemo2 {
public static void main(String[] args) {
	//定义字符串
	String s ="da jia ting wo shuo , jin tian xia da yu ,bu shang wan zi xi , gao xing ma ?";
	//规则
	String regex = "\\w{3}";
	//把规则编译成模式对象
	Pattern p =Pattern.compile(regex);
	//通过模式对象得到匹配器对象
	Matcher m = p.matcher(s);
//	//调用匹配器对象的功能
//	//public boolean find()
//	boolean flag = m.find();
//	System.out.println(flag);
//	//如何得到值呢?
//	//public String group()
//	String ss = m.group();
//	System.out.println(ss);
//	
//	//再来一次
//	flag = m.find();
//	System.out.println(flag);
//	ss = m.group();
//	System.out.println(ss);
//	
	while (m.find()) {
		System.out.println(m.group());
	}
	//注意:一定要先find(),然后才能group());
	  //String ss = m.group();
     //System.out.println(ss);
}
}
正则表达式对qq号码校验 主要介绍了正则表达式对qq号码进行校验的相关知识,非常不错,具有参考借鉴价值,需要的的朋友参考下吧 立即下载

相关推荐

两种方法校验qq号

使用两种方法校验qq号 编写方法实现 使用正则表达式实现 需求: 1:要求是5-15位数字 2:0不能开头 3:必须都是数字 分析: 1.返回值类型 boolean 2.参数列表 String qq 代码: public class Demo1_Regex { public static void main(String[] args) { //1.编写方法校验 Syste...

Limerence的博客 1144

校园网改造实录:手把手教你用华为MA5800 OLT调试全光网(附常用排错命令)

本文详细记录了校园全光网改造中华为MA5800 OLT的部署与调试过程,涵盖设备选型、基础配置、ONU批量部署及高频故障排查。通过实战案例和排错命令,帮助网络工程师快速掌握全光网调试技巧,实现低延迟、高稳定的网络性能。

weixin_42552716的博客 572

正则表达式训练-QQ号校验

PTA题目简单解

哦豁果奶的博客 2784

HALCON深度学习模型部署新选择:一份详细的OpenVINO 2021.4 LTS集成与配置避坑指南

本文详细介绍了如何将HALCON深度学习模型与OpenVINO 2021.4 LTS集成,提供环境配置、硬件加速优化及故障排除的实用指南。特别针对Intel独立显卡的AI加速器接口进行优化,帮助机器视觉工程师提升AI推理效率,适用于工业检测等高要求场景。

weixin_42531779的博客 238

天线学习笔记——HFSS简单阵列天线

在HFSS15.0版本中使用 Radiation --> Antenna Array Setup 设置天线阵列的参数时的设计列表如下: 值得注意的是,在该版本中所定义的是:第一个阵元的位置坐标(First Cell Position)、阵元之间的间距(Directions)和阵元的数量(Number of Cells) 这些参数。 在ANSYS中的HFSS仿真中定义天线阵列如下: 与老版本不同的是:中心点坐标(Center Position)和布局设置(Layout Setting)。在布局设置中

Ethan的博客 1万+

常用的表单校验规则——邮箱/QQ/身份证号码/微信/电话/数字字母/整数/文本/密码等

常用的表单校验规则——邮箱/QQ/身份证号码/微信/电话/数字字母/整数/文本/密码等

yehaocheng520的博客 927

告别‘耀斑’降落:手把手教你用PX4+激光测距仪实现固定翼精准自动着陆

本文详细介绍了如何利用PX4飞控与激光测距仪实现固定翼无人机的精准自动着陆,解决传统气压计在低空环境下的测量误差问题。通过硬件选型、安装要点、PX4参数配置及实战调校,帮助开发者实现厘米级高度感知,优化降落曲线,提升着陆稳定性与安全性。

weixin_30336061的博客 519

常见对象_如何校验一个QQ号码案例

package cn.itcast_01; import java.util.Scanner; /* * 校验QQ号码: * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * A:键盘录入一个QQ号码 * B:写一个功能实现校验 * C:调用功能,输出结果 */ public class RegexDemo { public sta

辐_射的博客 1162

133.在 Vue3 中使用 OpenLayers 实现画多边形、任意编辑、遮罩与剪切处理功能

《Vue3+OpenLayers实现多边形绘制与区域处理》摘要:本文介绍如何基于Vue3+OpenLayers+ol-ext实现地图多边形交互功能。核心功能包括:鼠标绘制任意多边形、拖动顶点编辑边界、遮罩显示(非选区变红)、选区剪切显示及功能重置。技术方案采用OpenLayers处理地图渲染,ol-ext实现高级遮罩/剪切效果,ElementPlus提供UI控件。该方案适用于城市规划、园区展示等需要区域标记的场景,完整代码展示了从初始化、绘制、编辑到特效处理的全流程实现。

小彭的博客 959

基于 Qt C++ 的战术通信终端

logMessage(QString("新客户端连接来自: %1:%2").arg(incomingTcpSocket->peerAddress().toString()).arg(incomingTcpSocket->peerPort()));logMessage(QString("服务器已启动,在 [%1]:%2 监听IPv6连接...").arg(ui->lineEditAddress->text()).arg(port));

寒寒豆豆软件公司的博客 77

Java:正则表达式书写规则及相关案例:检验QQ号码,校验手机号码,邮箱格式,当前时间

Java:正则表达式书写规则及相关案例:检验QQ号码,校验手机号码,邮箱格式,当前时间 几小时几分几秒

ZQCJL的博客 1551

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java基础知识强化70:正则表达式之引入案例(QQ号码校验)

1. 校验QQ号码的案例,如下: 1 package cn.itcast_01; 2 3 import java.util.Scanner; 4 5 /* 6 * 校验qq号码. 7 * 1:要求必须是5-15位数字 8 * 2:0不能开头 9 * 10 * 分析: 11 * A:键盘录入...

weixin_30924239的博客 161

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

AJPFX总结正则表达式的概述和简单使用

正则表达式的概述和简单使用 A:正则表达式 * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。 * 作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的 B:案例演示 * 需求:校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * 3:必须都是数字 * a:非正则表...

AJPFX的博客 262

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C#中正则表达式的作用,以及校验IP4,校验QQ经典案例

文章目录一、正则表达式的作用二、经典案例 校验IP4是否正确 一、正则表达式的作用 正则表达式是一种专门用于字符串处理的语言,可认为正则表达式表述了一个字符串的书写规则。 有两大主要功能:检索和匹配 用途:常用于校验用户输入的账号是否合法,用户输入S##的密码是否合法等等。 二、经典案例 校验IP4是否正确 题意:校验IP4地址,如192.255.7.42,一共四段,每段数字最大值为255,并且每...

qq_43157993的博客 389

JAVA-9-正则表达式

正则表达式: (1) 正则表达式:符合一定规则的字符串   案例:(用正则和代码两种方式实现)键盘录入qq号码,校验QQ号码。要求:     1: 要求必须是5-15位数字     2: 0不能开头     3: 每一位的字符必须是数字package com.edu.regex1; import java.util.Scanner; public class RegexDemo {

喵喵的博客 680

正则表达式

校验用户的电话,邮箱,时间是否合法。

2301_80708315的博客 237

Java 正则表达式 概述及案例

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

白白小草 296

JAVA基础(正则表达式概述)

1,正则表达式 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。 作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的 2,案例演示 【1】 需求: 校验qq号码. 要求必须是5-15位数字 0不能开头 必须都是数字 【2】非...

Cricket_7的博客 220

黑马程序员__正则表达式

----------- [url=http://www.itheima.com][color=red]android培训[/color][/url]、[url=http://www.itheima.com][color=red]java培训[/color][/url]、java学习型技术博客、期待与您交流! ------------ [b]正则表达式[/b] 符合一定规则的表达式。 ...

学习笔记 143

JAVASE第14天笔记

Day14课堂笔记标签(空格分隔): java基础正则表达式什么是正则表达式? 其实就是一个字符串的匹配规则.简单而言,就是用来判断字符串是否符合你指定要求的规则. * 为什么要用到正则表达式?用这个有什么好处? 在字符串的匹配过程中,大大的节省了代码.如检查QQ是否合法 需求:校验qq号码. 分析需求: 1:要求必须是5-15位数字 定义一个字符串 存着QQ号码 String s

baidu_36439112的博客 380
上一篇: jdk5的新特性自动装箱和拆箱
下一篇: Math类概述及其成员方法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值