首页 > 编程语言 >黑马程序员 学生管理系统中的一些数据验证知识点

黑马程序员 学生管理系统中的一些数据验证知识点

时间:2022-11-21 21:59:10浏览次数:46  
标签:知识点 return 管理系统 int char 程序员 length false array

用户名长度必须在3-15位之间,只能是字母加数字的组合,但不能是纯数字

public static boolean checkUsername(String username) {
    int length = username.length();
    if (length < 3 && length > 15) {
        return false;
    }
    int numCount = 0;
    int letCount = 0;
    for (int i = 0; i < length; i++) {
        char c = username.charAt(i);
        if ((c >= 'A' && c < 'Z') || (c >= 'a' && c <= 'z')) {
            letCount++;
        } else if (c > '0' && c < '9') {
            numCount++;
        }
    }
    if ((numCount + letCount == length) && letCount > 0 && numCount >= 0) {
        return true;
    }
    return false;
}

身份证长度为18位不能以0为开头,前17位必须都是数字,最为一位可以是数字,也可以是大写X或小写x

public static boolean checkIdCard(String idCard) {
    int length = idCard.length();
    if (length != 18 || idCard.charAt(0) == '0') {
        return false;
    }
    for (int i = 0; i < length - 1; i++) {
        if (idCard.charAt(i) < '0' || idCard.charAt(i) > '9') {
            return false;
        }
    }
    char c = idCard.charAt(length - 1);
    if ((c > '0' && c < '9') || c == 'x' || c == 'X') {
        return true;
    } else {
        return false;
    }

}

手机号长度为11位,不能以0为开头,必须都是数字

public static boolean checkPhoneNumber(String phoneNumber) {
    int length = phoneNumber.length();
    if (length != 11) {
        return false;
    }
    if (phoneNumber.charAt(0) == '0') {
        return false;
    }
    char c;
    for (int i = 0; i < length; i++) {
        c = phoneNumber.charAt(i);
        if (c < '0' || c > '9') {
            return false;
        }
    }
    return true;
}

验证码长度为5,由4位大写或者小写字母和1位数字组成,同一个字母可重复,数字可以出现在任意位置

public static String generateCaptcha(){
    ArrayList<Character> list =new ArrayList<>();
    for (int i = 0; i < 26; i++) {
        list.add((char)('a'+i));
        list.add((char)('A'+i));
    }
    Random r = new Random();
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < 4; i++) {
        int index = r.nextInt(list.size());
        char c = list.get(index);
        sb.append(c);
    }
    int i = r.nextInt(10);
    char[] array = sb.append(i).toString().toCharArray();
    int randomIndex = r.nextInt(array.length - 1);
    char tmp = array[randomIndex];
    array[randomIndex] = array[array.length-1];
    array[array.length-1]=tmp;

    return new String(array);

}

标签:知识点,return,管理系统,int,char,程序员,length,false,array
From: https://www.cnblogs.com/hack2xia/p/16913478.html

相关文章

  • 超市积分管理系统
    超市积分管理系统链接:https://pan.baidu.com/s/143X1AEynKvs0vlDT6uNdfg?pwd=0011提取码:0011超市会员积分管理系统主要用于实现了企业管理数据统计等。本系统结构如下:(1)......
  • 多线程与线程池知识点
    多线程https://www.cnblogs.com/empty-me/p/15664024.htmlJava多线程:向线程传递参数的三种方法......
  • Net6 反射反射程序员的快乐/遍历属性、字段、构造方法、函数及相关操作
    十年河东,十年河西,莫欺少年穷学无止境,精益求精反射反射,程序员的快乐,利用反射可以获取到私有属性及其值 在C#中反射无处不在,用好反射,就可以为所欲为有这么一个学生类:publicc......
  • 297个机器学习彩图知识点(5)
    导读本系列将持续更新20个机器学习的知识点。1.岭回归2.安斯库四重奏3.偏差方差4.自助采样法5.能力6.最优化算法7.常见激活函数8.凹凸函数9.条......
  • 【博学谷学习记录】超强总结,用心分享 集合重要知识点。
    集合1.1常见的数据结构常见的数据结构有:数组、栈、队列、链表、树、散列、堆、图等。数组是最常用的数据结构,数组的特点是长度固定,数组的大小固......
  • JAVA学习方法与知识点
       这个时代有很多的朋友都开始选择看看学习学习当下热门的编程语言比如现在的Java这类技术。俗话说的好啊天下熙熙皆为利来,天下攘攘皆为利往,目前大多都是为了高薪工......
  • 后台管理系统功能实现
    首先是增删改查,前端会传入jason文件(增使用@resquestbodyuseruser这个注解直接接收参数(就有点像关系映射对象那样jason自己映射到这个对象上面,前提是两个一样哈,然后就可......
  • MySQL知识点(一)
    MySQL知识点(一)目录MySQL知识点(一)一、B树和B+树之间的区别是什么?1、B树2、B+树二、Innodb中的B+树是怎么产生的?三、高度为3的B+树能存多少条数据?四、Innodb引擎是如......
  • Python程序员:代码写的好,丝滑的壁纸少不了
    不知道大家的电脑桌面一般用的什么类型的壁纸?早上来上班,打开电脑,被漂亮的桌面壁纸所吸引,年底将近,这又是哪个地方的节日?才晓得,原来这是泰国第二大城市清迈的“天......
  • 学生选课管理系统
    石家庄铁道大学学生选课管理系统(50分) 1、项目需求:石家庄铁道大学为了提高教务处的工作效率,方便用户之间信息的交流,简化学生选课的流程,使选课管理工作更规范化,系统化,程序......