Java--正则表达式验证QQ号码

一般写法:

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

你可能感兴趣的:(Java--正则表达式验证QQ号码)