java之校验QQ号是否正确以及如何用正则表达式进行优化

复制代码
public class RegexDemo {
    public static void main(String[] args) {
        

        String qq="123456789";
        System.out.println(checkQQ(qq));
    }

    public  static  boolean  checkQQ(String qq){
        //规则:6位到20位之内,0不能在开头,必须全部是数字
        //核心思想:
        //先把异常数据过滤
        //下面的就是满足要求的数据了
        int len=qq.length();
        if(len<6 || len>20){
            return false;
        }
        //0不能在开头

        if( qq.startsWith("0")){
            return false;
        }
        //必须全部都是数字
        for (int i = 0; i <qq.length() ; i++) {
          int c=  qq.charAt(i);
            if(c<'0' || c>'9'){
                return false;
            }
        }
              return true;

    }
}

假设我们利用了正则表达式呢?

复制代码
public class RegexDemo {
    public static void main(String[] args) {
        String qq = "123456789";
        //利用正则表达式
        System.out.println(qq.matches("[1-9]\\d{5,19}"));
    }
}

如果用了正则表达式,那么短短几行代码就可以了

相关推荐
a诠释淡然几秒前
C++ vs Rust:哪个更适合你的下一个项目?
开发语言·c++·rust
创可贴治愈心灵几秒前
AI浪潮下C#就业前景剖析:深耕C#为主,按需选修Java与Python
java·人工智能·c#
meilindehuzi_a3 分钟前
深入理解 JavaScript 执行机制:从编译阶段到调用栈底层实现
开发语言·javascript·ecmascript
小小de风呀4 分钟前
de风——【从零开始学C++】(十二):stack和queue的基本使用和模拟实现
开发语言·c++
huohaiyu15 分钟前
深入解析Java垃圾回收机制
java·开发语言·算法·gc
浮芷.22 分钟前
鸿蒙PC端 TTS 并发调用问题详解:资源竞争与队列管理
算法·华为·开源·harmonyos·鸿蒙·鸿蒙系统
YsyaaabB28 分钟前
LangChain作业二---多语言翻译Prompt
开发语言·python·langchain
SunnyDays101129 分钟前
如何在 Java 中实现 OFD 与 PDF 格式互转
java·开发语言
装不满的克莱因瓶30 分钟前
掌握感知器的学习原理
人工智能·python·神经网络·算法·ai·卷积神经网络
Lsk_Smion31 分钟前
力扣实训 _ [994].腐烂的橘子/图论
算法·leetcode·图论