/*
*
*【需求】定义一个功能,对QQ号进行校验
* 要求:号码长度5~15位,只能是数字,0不能开头。
*
* 正则表达式:
* 用于操作字符串数据。
* 通过一些特定的符号来体现的。
*
* 打开API,点进java.lang包,找到String类,其内有如下方法:
*
* public boolean matches(String regex):告知此字符串是否匹配给定的正则表达式regex。
*
*/
package demo;
public class Demo {
public static void main(String[] args) {
String qq = "1234567";
checkQQ(qq);
checkQQ_2(qq);
}
public static void checkQQ(String qq){//这么做能实现需求,但是麻烦
int len = qq.length();
if(len>=5 && len<=15){
if(!qq.startsWith("0")){
try {
Long l = Long.parseLong(qq);
System.out.println(qq+":正确");
} catch (Exception e) {
System.out.println(qq+":含有非法字符");
}
}else{
System.out.println(qq+":不能0开头");
}
}else{
System.out.println(qq+":长度错误");
}
}
public static void checkQQ_2(String qq) {//用这则表达式可以大大简化代码
String regex = "[1-9][0-9]{4,14}";//正则表达式
//qq号第一位必须是1-9数字,其余位数必须是0-9数字,校验4-14位,
boolean b = qq.matches(regex);
System.out.println(qq+":"+b);
}
}
/**
* 【总结】
* 所以我们要学习一些正则表达式特定的符号。
*
* 正则表达式大大简化了书写,但是阅读性差且需要记忆大量符号。
*/
28-正则表达式-01-正则表达式(概述)
最新推荐文章于 2020-04-13 20:11:11 发布