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}"));
    }
}

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

相关推荐
spencer_tseng11 小时前
Stream not available [SysDictDataMapper.xml]
xml·java
蒸蒸yyyyzwd15 小时前
cpp对象模型学习笔记1.1-2.8
java·笔记·学习
睡美人的小仙女12716 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
程序员徐师兄16 小时前
Windows JDK11 下载安装教程,适合新手
java·windows·jdk11 下载安装·jdk11 下载教程
rayufo16 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk16 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
数研小生17 小时前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
芒克芒克17 小时前
LeetCode 题解:除自身以外数组的乘积
算法·leetcode
缺点内向17 小时前
C#编程实战:如何为Word文档添加背景色或背景图片
开发语言·c#·自动化·word·.net
五岳17 小时前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts