验证用户名和密码的正则表达式

简介: 验证用户名和密码的正则表达式
//用户名长度6-20位,由数字,字母,下划线组成,且不能以数字开头,字母不区分大小写。
    @Test
    public void main (){
        String loginName = "1_admin";
        System.out.println(checkLoginName(loginName));
        if(!checkLoginName(loginName)){
            System.out.println("用户名不合法,长度6-20位,由数字,字母,下划线组成,不能以数字开头");
        }
    }
    public static boolean checkLoginName(String loginName) {
        String regExp = "^[A-Za-z_]{1}[A-Za-z\\d_]{5,19}$";
        if(loginName.matches(regExp)) {
            return true;
        }else {
            return false;
        }
    }
//密码长度为8-20位,由数字,字母,下划线组成,且至少包含两种及以上字符,字母区分大小写。
    @Test
    public void main1 (){
        String passWord = "sadwadasdA1_";
        System.out.println(checkPassword(passWord));
        if(!checkPassword(passWord)){
            System.out.println("密码不合法!长度为8-20位,由数字,大小写字母,下划线组成,且至少包含两种及以上字符");
        }
    }
    public static boolean checkPassword(String passWord) {
        String regExp = "^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![_]+$)[0-9_A-Za-z]{7,19}$";
        if(passWord.matches(regExp)) {
            return true;
        }else {
            return false;
        }
    }

还是有缺陷的,不过暂时够用了,先用着,


账号不区分大小写就不写了,用String的toLowerCase()全部转为小写存储即可,验证也是一样


哪位友有更好的办法也可以评论

相关文章
|
6月前
|
网络协议 JavaScript 前端开发
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名2
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
1735 0
|
1月前
|
JavaScript 前端开发 Java
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
|
2月前
|
JavaScript 前端开发 Java
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
132 5
|
6月前
|
网络协议 JavaScript 前端开发
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名1
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
463 0
|
6月前
|
JavaScript 前端开发 网络协议
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名3
使用正则表达式验证身份证号、QQ号、手机号、邮箱、地址、邮编、银行卡号、学号、车牌号、快递单号、验证码、ISBN号、网址、IPV4地址、IPV6地址、出生年月日、姓名
420 0
【正则表达式】正则表达式同时支持验证手机号码和座机号码
【正则表达式】正则表达式同时支持验证手机号码和座机号码
|
6月前
|
JavaScript 数据安全/隐私保护
jquery正则表达式验证手机号密码和姓名字段
jquery正则表达式验证手机号密码和姓名字段
|
6月前
|
数据采集 Java API
Java 正则表达式【非贪婪匹配、格式验证、反向引用、API】
Java 正则表达式【非贪婪匹配、格式验证、反向引用、API】
|
JavaScript
正则表达式同时验证手机和座机号码
正则表达式同时验证手机和座机号码
216 0
|
数据安全/隐私保护
验证数字的正则表达式集
验证数字的正则表达式集
108 0