一、随机字符串
/** * * @param count 随机字符串长度 * @return */ public static String getSecureRandomStr(int count){ try { String[] texts = {"1","2","3","4","5","6","7","8","9","0", "q","w","e","r","t","y","u","i","o","p", "a","s","d","f","g","h","j","k","l", "z","x","c","v","b","n","m", "Q","W","E","R","T","Y","U","I","O","P", "A","S","D","F","G","H","J","K","L", "Z","X","C","V","B","N","M"}; SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); StringBuffer stringBuffer = new StringBuffer(""); for(int i= 0;i<count;i++){ stringBuffer.append(texts[random.nextInt(texts.length-1)]); } return stringBuffer.toString(); }catch (Exception e){ /* 假如异常,则调用伪随机数生成字符串 */ return getRandomStr(count); } }
二、提取身份证号码
/** * 过滤身份证号码 * 通过对比 ASCII码 过滤指定字符串 * */ public static String getIdcard(String str){ String str2=""; if(str != null && !"".equals(str)){ for(int i=0;i<str.length();i++){ if((str.charAt(i)>=48 && str.charAt(i)<=57) || str.charAt(i)== 88 || str.charAt(i)== 120 ){ str2+=str.charAt(i); } } } return str2.toUpperCase(); } /** * 正则提取身份证号码 * @return 提取到的身份证号码 */ public static String getIdCardPattern(String text){ Pattern IdCard = Pattern.compile("\\d{17}[\\d|x|X]|\\d{15}"); Matcher IdCardNumber = IdCard.matcher(text);//截取身份证号 if(IdCardNumber.find()){ String group = IdCardNumber.group();//得到身份证号 return group; }else{ return null; } }
三、提取数字
/** * 提取数字 * 通过对比 ASCII码 提取数字 * */ public static String getInt(String str){ String str2=""; if(str != null && !"".equals(str)){ for(int i=0;i<str.length();i++){ if((str.charAt(i)>=48 && str.charAt(i)<=57)){ str2+=str.charAt(i); } } } return str2.toUpperCase(); } /** * 正则提取数字 * @param text * @return */ public static String getIntPattern(String text){ Pattern IdCard = Pattern.compile("[^0-9]"); Matcher IdCardNumber = IdCard.matcher(text);//截取身份证号 if(IdCardNumber.find()){ String group = IdCardNumber.replaceAll("").trim();//得到身份证号 return group; }else{ return null; } }
四、根据长度和数字获取编码
/** * 根据数字获取固定长度的字符,作为编码时使用 * 示例:getStringLength(0,6) 返回:000015 * */ public static String getStringLength(int length,int number){ NumberFormat n = NumberFormat.getInstance(); /* 这行的主要作用是去除千分位的逗号 */ n.setGroupingUsed(false); n.setMinimumIntegerDigits(length); return n.format(number); }