• Java 如何随机产生8位包含英文数字标点符号


    java随机生成8位密码-包括数字、大小写字母、特殊符号。

    //返回随机产生的8位数
    public  String getRandomPassword(int len) {
        String result= this.makeRandomPassword(len);
        if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\d{1,}.*") && result.matches(".*[~!@#$%^&*\.?]{1,}.*")) {
        return result;
        }
        result = makeRandomPassword(len);
     }
    
      //产生8位随机数
      public  String makeRandomPassword(int len){
       char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray();
       StringBuilder sb = new StringBuilder();
       Random r = new Random();
       for (int x = 0; x < len; ++x) {
       sb.append(charr[r.nextInt(charr.length)]);
       }
       return sb.toString();
       }

     完整的测试例子:

    public class TestRandomNumber {
        public TestRandomNumber() {
        }
    
        public static void main(String[] args) {
            String randomNum = getRandomPassword(8);
            System.out.println(randomNum);
        }
    
        /**
         * 返回随机产生的8位数
         */
        public static String getRandomPassword(int len) {
            String result = makeRandomPassword(len);
            if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\d{1,}.*") &&
                    result.matches(".*[~!@#$%^&*\.?]{1,}.*")) {
                return result;
            }
            result = makeRandomPassword(len);
            return result;
        }
    
        /**
         * 产生8位随机数
         *
         * @param len 长度
         * @return
         */
        public static String makeRandomPassword(int len) {
            char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.".toCharArray();
            StringBuilder sb = new StringBuilder();
            Random r = new Random();
            for (int x = 0; x < len; ++x) {
                sb.append(charr[r.nextInt(charr.length)]);
            }
            return sb.toString();
        }
  • 相关阅读:
    牛客网 二叉树的镜像 JAVA
    牛客网 反转链表 JAVA
    牛客网 调整数组顺序使奇数位于偶数前面 JAVA
    Integer to Roman LeetCode Java
    Valid Number leetcode java
    Longest Common Prefix
    Wildcard Matching leetcode java
    Regular Expression Matching
    Longest Palindromic Substring
    Add Binary LeetCode Java
  • 原文地址:https://www.cnblogs.com/chendezhen/p/14754021.html
Copyright © 2020-2023  润新知