一般写法:
import java.util.Scanner;
/*
* 校验QQ号码
* 1:要求必须是5-15位数字
* 2.不能以0开头
*
* 分析
* A:键盘录入一个QQ好吗
* B:写一个功能实现校验
* C:调用功能,输出结果
*/
public class RegexDemo {
public static void main(String[] args){
//创建键盘录入
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 i = 0; i < chs.length; i++) {
char c = chs[i];
if(!Character.isDigit(c)){
flag = false;
break;
}
}
}else{
flag = false;
}
}else{
flag = false;
}
return flag;
}
}
使用正则表达式写法:
import java.util.Scanner;
/*
* 正则表达式:符合一定规则的字符串
*/
public class RegexDeom_02 {
public static void main(String[] args) {
//创建键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的QQ号码");
String qq = sc.nextLine();
System.out.println("checkQQ:\t" + checkQQ(qq));
}
public static boolean checkQQ(String qq){
//matches() 告知字符串是否匹配给定的正则表达式
return qq.matches("[1-9][0-9]{4,14}");
}
}