package com.sf._03_str;

import java.util.Scanner;

public class Test2 {
    /**
     * 需求1：手机号码,屏蔽中间四位
     * 18631112222;
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请录入一个手机号码");
        String phone = scanner.next();

        if(phone.length() != 11){
            System.out.println("手机号码比如是11 位");
            return;
        }

        // 可以做手机号码格式校验
        boolean flag = isValidPhoneNumber(phone);
        if(!flag){
            System.out.println("手机号码不合法");
            return;
        }
        /**
         * 字符串当中有个叫正则表达式
         * 正则表示他可以按照一定规则 和字符串进行比较
         */
        //
        String prefix = phone.substring(0, 3);
        String suffix = phone.substring(7);
        System.out.println("加密手机号码:"+prefix+"****" +suffix);

    }

    public static boolean isValidPhoneNumber(String phone) {
        // 判空：如果传入null或空字符串，直接返回false
        if (phone == null || phone.trim().isEmpty()) {
            return false;
        }

        // 手机号正则表达式：
        // ^1 表示以1开头
        // [3-9] 表示第二位是3、4、5、6、7、8、9中的一个
        // \\d{9} 表示后面跟9位任意数字
        // $ 表示结束，确保总长度是11位
        String phoneRegex = "^1[3-9]\\d{9}$";

        // 使用matches方法匹配正则，匹配成功返回true，否则false
        return phone.trim().matches(phoneRegex);
    }
}
