2022-05-19 Java使用正则表达式验证用户名和密码

白盒测试题目

题目3:进行系统注册时通常需要输入用户名和密码,其中用户名要求由大写字母开头的8个字母字符组成、密码由8个(含8)以上数字字符组成。满足要求,则提示“注册成功”;密码不正确提示“密码不符合要求”;用户名不正确提示“用户名不符合要求”。编写程序实现注册信息的输入,并设计最少的测试数据进行判定覆盖测试。输入数据打印出“输入用户名:”、“输入密码:”。

分析要求:

用户名:

由大写字母开头的8个 字母 字符组成
不能以数字开头

密码:

由8个(含8)以上 数字 字符组成

效果展示:

java控制台效果
package test;

import java.util.Scanner;

public class testttt {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("请输入用户名:");
        Scanner sc=new Scanner(System.in);
        String name=sc.nextLine();

        /**
         * 验证用户名
         * while循环控制直到输入合法为止
         */
        while(!checkName(name)) {
            System.out.println("用户名不合法,请重新输入:");
            name=sc.next();
        }
        /**
         * 验证密码
         */
        System.out.println("请填写密码:");
        String pwd = sc.next();
        
        while(!checkPwd(pwd)) {
            System.out.println("密码不合法,请重新输入:");
            pwd=sc.next();
        }
        System.out.println("注册成功!");
        
    }
    
    /**
     * 用户名验证
     *  @param name
     *  @return
     */
    public static boolean checkName(String name) {
//      String regExp = "^[^0-9][\\w_]{5,9}$";
        String regExp = "^[A-Z][a-z]{7}$";
        if(name.matches(regExp)) {
            return true;
        }else {
            return false;
        }
    }
    /**
     * 密码验证
     *  @param pwd
     *  @return
     */
    public static boolean checkPwd(String pwd) {
//      String regExp = "^[\\w_]{6,20}$";
        String regExp = "^[0-9]{8,}$";
        if(pwd.matches(regExp)) {
            return true;
        }
        return false;
    }

}

思路

用户名:由大写字母开头的8个 字母 字符组成。^[A-Z][A-Za-z]{7}$该规则表示匹配大写字母开头,后续是小写字母或大写字母都可,长度限制为8位。
密码:由8个(含8)以上 数字 字符组成。 ^[0-9]{8,}$该规则表示匹配0-9数字组成,长度为8位或以上。

原参考链接:Java使用正则表达式验证用户名和密码YaJeanZhang的博客

你可能感兴趣的:(2022-05-19 Java使用正则表达式验证用户名和密码)