No diré muchas tonterías, solo te publicaré el código Java. El código ha sido comentado y no está bien escrito. Por favor, cuídalo.
El código se ve así:
package com.alibaba.uyuni.common.util;import java.util.Random;public class GeneratePassword {/*** Generate random password* @param pwd_len* Total length of generated password* @return Password string*/public static String genRandomNum(int pwd_len) {// 26*2 letters + 10 numbers final int maxNum = 62;int i; // Generar número aleatorio int count = 0; // Longitud de la contraseña generada char [] str = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', v ',' w ',', ',', ',', ',', ',', ',', ',', ',', ',', '. 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'Z', '0', ',', ',', ',', ',', ',', ',', ',', ',', ','. '3', '4', '5', '6', '7', '8', '9'}; StringBuffer pwd = new StringBuffer (""); Random R = New Random (); while (Count <pwd_len) {// generar números aleatorios, tomar valores absolutos y evitar que los números negativos se generen, i = math.abs (r.nextint (maxnum); // El número máximo generado es 62-1if (i> = 0 && i <str.length) {pwd.append (str [i]); count ++;}} return pwd.ToString ();} public static void main (String [] {System.Println (genrandomnum (6));//}} paquete com.alibaba.uyuni.common.util; import java.util.regex.matcher; import java.util.regex.pattern; public class RegexUtils {/*** Verify Correo electrónico* @Param Dirección de correo electrónico de correo electrónico, Formato: [email protected], [email protected], xxx Represente* @return verify Devuelve verdadero, y la verificación no puede devolver falso*/public static boolean checkemail (Correo electrónico de cadena) {String Regex = "//w+@/w+///.cheazfont>+(//.chezfont>+)?"; return Pattern.Matches (regex, correo electrónico); }/*** VERIFICACIÓN *** Número*@param idcard Residente *** Número 15 o 18 dígitos, el último dígito puede ser un número o letra*@return return verdadero para una verificación exitosa, y falso para la verificación de falla*/public static boolean checkidcard (string idcard) {string regex = "[1-9] // d {13,16} [a-zac-z0-9-9 {1}"; return Pattern.Matches (regex, idcard); } /*** Verify mobile phone number (supports international format, +86135xxxx... (Mainland China), +00852137xxxx... (Hong Kong, China))* @param mobile Number segments of mobile, China Unicom, and telecom operators*<p>Mobile number segments: 134(0-8), 135, 136, 137, 138, 139, 147 (predicted para TD Network Card)*, 150, 151, 152, 157 (TD dedicado), 158, 159, 187 (no habilitado), 188 (TD dedicado) </p>*<p> segmentos de números unicom de China: 130, 131, 132, 155, 156 (segmentos de viento mundial), 185 (no recaudado), 186 (3G) </p>**P> 133, 153, 180 (no habilitado), 189 </p>* @return La verificación es exitosa y devuelve verdadero, y la verificación se falló y devuelve falso*/public static boolean checkmobile (String mobile) {String regex = "(//+// d+)? 1 [3458] // d {9} $"; return Pattern.Matches (regex, móvil); } /*** Verifique el número de teléfono fijo* @param Número de teléfono, formato: país (región) Código de teléfono + código de área (código de la ciudad) + número de teléfono, como: + 86020855884447* <p> <b> Código de país (región): </b> Código estándar de país (región) que identifica el país (región) del número de teléfono. Contiene uno o más dígitos de 0 a 9, seguido de un código de país separado por el espacio. </p>* <p> <b> Código de área (código de la ciudad): </b> Esto puede contener uno o más números de 0 a 9, y el código de región o ciudad se coloca entre paréntesis -* Este componente se omite para los países (regiones) que no usan el código de región o ciudad. </p>* <p> <b> Número de teléfono: </b> Esto contiene uno o más números de 0 a 9 </p>* @return return verdadero cuando la verificación es exitosa, y devuelve falso*/public static boolean checkphone (string phone) {string regex = "(/// // d+)? (// d {3,4} //-?)?)?)?)? return Pattern.Matches (regex, teléfono); }/*** Verifique enteros (enteros positivos e enteros negativos)* @param dígitos enteros entre uno o más bits 0-9* @return return verdadero cuando la verificación es exitosa, devuelve falso*/public static boolean checkdigit (digit de cadena) {cadena regex = "//-? [1-9] // d+"; return Pattern.Matches (regex, dígito); } / *** Verifique los enteros y los números de punto flotante (enteros positivos y negativos y números de punto flotante positivos y negativos)* @param decimals números de punto flotante entre uno o más bits 0-9, como: 1.23, 233.30* @return verify devuelve verdadero y no puede verificar, y regresar* / público estatic boolean checkdecimals (string decimals) "//-? Zo -1-9font>//d+(//.//d+)?"; return Pattern.Ematches (regex, decimales); } /*** Verifique los caracteres Whitespace* @Param Blankspace Whitespace caracteres, incluyendo: espacio, /t, /n, /r, /f, /x0b* @return return real para una verificación exitosa, return false, no verificar, devolver falso* /public static boolean checkBlankspace (string string blankspace) {string regex = "// s+"; return Pattern.Matches (regex, blankspace); }/*** Verificar chino* @param caracteres chinos chinos* @return return verdadero para una verificación exitosa, return false*/public static boolean checkchinese (string chino) {string regex = "^[/u4e00-/u9fa5]+$"; Patrón de retorno. } / *** Fecha de verificación (año, mes, día)* @param Fecha de cumpleaños, formato: 1992-09-03 o 1992.09.09.03* @return verificación devuelve verdadero, la verificación no puede devolver falso* / público booleano estatichbirthday (string cumpleaños) {string regex = "[1-9] {4} ([-./]) // d {1,2} // 1 // d {1,2}"; retorno patrón.matches (regex, cumpleaños); }/*** Dirección de URL de verificación* @Param URL Format: http://blog.csdn.net:80/xyang81/article/details/7705960? o http://www.csdn.net:80* @return return verdadero cuando la verificación es exitosa, y falsa cuando la verificación falla, public static boolean checkurl (string url) {string regex = "(https?: // (w {3} //.)?)? // w+//. // w+(//. [a-za-z]+)*(: // d {1,5})? (/// w*)*(// ?? (.+=.*)? (&.+=.*))? return Pattern.Matches (regex, URL); }/*** <pre>* Obtenga el nombre de dominio de primer nivel de la URL URL* http://www.zuidaima.com/share/1550463379442688.htm ->> zuidaima.com* </pre>** @param url* @return*/public static string (String Ur.) {Pattern P = Pattern.compile ("(? <= Http: // | //.) [^.]*? //. (Com | cn | net | org | biz | info | cc | tv)", patrones.case_insensitive); // obtenga el nombre de dominio completo // patrones p = patrones.compile ("[^//]*? //. Pattern.case_insensitive); matcher matcher = p.matcher (url); matcher.find (); return matcher.group ();}/ *** Código postal de postal chino* @param postcode postcode* @return verificación es exitosa y devuelve verdadero, y la verificación es fallida y falsa*/ público público de control booleano estático (cadena postcode) {string reGEX = "[1-9] // d {5}"; return Pattern.Matches (Regex, PostCode); } / *** La dirección IP de coincidencia (coincidencia simple, formato, tales como: 192.168.1.1, 127.0.0.1, no hay tamaño coincidente del segmento IP)* @param ipaddress ipv4 La dirección estándar* @return verificación se devuelve verdadero, la verificación se falló, la verificación se devuelve falso* / public estatic boolean checkipaddress (String ipadddress) {String se revela la verificación. "[1-9] (// d {1,2})? //. (0 | ([1-9] (// d {1,2})?)) //. (0 | ([1-9] (// d { 1,2})?)) //. (0 | ([1-9] (// d {1,2})?)) // (0 | ([1-9] (// d {1,2})?)) "; return Pattern.Matches (regex, ipaddress); }}Lo anterior es el contenido relevante que el editor ha compartido con usted sobre la generación de contraseñas aleatorias de Java y coincidirlas con su correo electrónico y teléfonos móviles. Espero que te sea útil.