zoukankan      html  css  js  c++  java
  • 验证用户名和密码的正则表达式

    //用户名长度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()全部转为小写存储即可,验证也是一样

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

    学习时的痛苦是暂时的 未学到的痛苦是终生的
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    【开发者笔记】C#连接mysql问题记录
    【开发者笔记】揣摩Spring-ioc初探,ioc是不是单例?
    【开发者笔记】c# 调用java代码
    【数据库乱码】记录一下数据库乱码问题
    字符函数
    单行函数和多行函数
    rownum和rowid伪列
    排序子句
    单引号的转义
    逻辑运算符
  • 原文地址:https://www.cnblogs.com/juanxincai/p/12427634.html
Copyright © 2011-2022 走看看