文章目录
- 正则表达式
- 作用
- 基本用法
- 小结
- 代码
 
- 案例:校验用户输入的电话,邮箱,是否合法
- \\.是什么意思
 
黑马学习笔记
正则表达式
由一些特定的字符组成,代表的是一个规则
作用
- 用来校验数据格式是否合法
- 在一段文本中查找满足要求的内容
基本用法
进API查,或者使用的时候直接搜
 
小结

代码
/**
 * @Author: ggdpzhk
 * @CreateTime: 2024-09-02
 * 校验QQ号码是否正确,要求全部是数字,长度是(6-20)之间,不能以0开头
 */
public class regex {
    public static void main(String[] args) {
        String qq = "12366589";
        String qq1 = "q1256d3";
        String qq2 = "03336";
        System.out.println(cheakQQ(qq));
        System.out.println(cheakQQ(qq1));
        System.out.println(cheakQQ(qq2));
        System.out.println(cheakQQ2(qq));
        System.out.println(cheakQQ2(qq1));
        System.out.println(cheakQQ2(qq2));
    }
    //使用正则表达式
    public static boolean cheakQQ2(String qq) {
        return qq != null && qq.matches("[1-9]\\d{5,19}");//第一个数字是1-9,后面是0-9的数字,长度是6-20,
        //  \\d{a,b}表示后边数字的位数,如:\d{3}表示3位数字,\d{1,3}表示1-3位数字
        // \\d 是转义字符
    }
    public static boolean cheakQQ(String qq) {
        //1. 判断号码是否为null
        if (qq == null || qq.startsWith("0") || qq.length() < 6 || qq.length() > 20) {
            return false;
        }
        //2. 判断qq号码是否为纯数字
        for (int i = 0; i < qq.length(); i++) {
            if (qq.charAt(i) < '0' || qq.charAt(i) > '9') {
                return false;
            }
        }
        return true;
    }
}

案例:校验用户输入的电话,邮箱,是否合法
package regex;
import java.util.Scanner;
/**
 * @Author: ggdpzhk
 * @CreateTime: 2024-09-02
 *
 * 校验用户输入的电话,邮箱,是否合法
 */
public class Test2 {
    public static void main(String[] args) {
        Scanner sc =  new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的电话号码:");
            String phone = sc.next();
            if(cheakPhone(phone)){
                System.out.println("电话号码合法");
                break;//注意!!!!
            }else{
                System.out.println("电话号码不合法");
            }
        }
        while (true) {
            System.out.println("请输入您的qq邮箱:");
            String email = sc.next();
            if(cheakEmail(email)){
                System.out.println("邮箱合法");
                break;
            }else{
                System.out.println("邮箱不合法");
            }
        }
        while (true) {
            System.out.println("请输入您的密码:(6-10位,包含数字和大小写字母)");
            String password = sc.next();
            if(cheakPassword(password)){
                System.out.println("密码合法");
                break;
            }else{
                System.out.println("密码不合法");
            }
        }
    }
    private static boolean cheakPassword(String password) {
        return password.matches("^[a-zA-Z0-9]{6,10}$");
    }
    //检查输入邮箱是否满足格式
    /*
    @qq.com  前面的位数在5 - 10 之间,第一位不能是0
    * */
    private static boolean cheakEmail(String email) {
        return email.matches("^[^0][0-9a-zA-Z]{4,9}@qq\\.com$");
    }
    //检查电话是否合法
    /*
    1. 11位
    2. 不能以0开头
    3. 不能有数字以外的字符
     */
    public static boolean cheakPhone(String phone){
        return phone.matches("^[1][3-9][0-9]{9}$");
        //   ^ $ 表示字符的开始和结束    第一位只能是1  第二位是3-9  后面9位是0-9
    }
}

\.是什么意思




















