用java生成6位验证码,要求字母大小写数字组成,不能重复字符 用java生成6为验证码,要求大小写,数字,不能重复字符

\u7528java\u751f\u62106\u4f4d\u9a8c\u8bc1\u7801\uff0c\u7531\u5927\u5c0f\u5199\u6570\u5b57\u7ec4\u6210\uff0c\u4e0d\u80fd\u91cd\u590d\u5b57\u7b26

\u751f\u6210\u968f\u673a\u53ef\u4ee5\u7528Random\u7c7b\uff0c\u4e0d\u80fd\u91cd\u590d\u53ef\u4ee5\u8003\u8651\u653e\u5728HashSet\u4e2d\uff0c\u56e0\u4e3aHashSet\u7684\u503c\u662f\u4e0d\u80fd\u91cd\u590d\u7684\uff0c\u770b\u4ee3\u7801\u5982\u4e0b\uff1a
public class GenerateRandomLetterAndNum {public static void main(String[] args) { Set store = getletterandnum(6); printSet(store);}public static Set getletterandnum(int length) {Set set =new HashSet();for (int i = 0; i < length; i++) {String value = getrandom();set.add(value);}if (set.size()<length) { //\u5982\u679c\u6ca1\u6709\u751f\u62106\u4f4dString value = getrandom();//\u7ee7\u7eed\u8c03\u7528\u751f\u6210\u968f\u673a\u6570\u7684\u65b9\u6cd5set.add(value);}return set;}private static String getrandom() { //\u751f\u6210\u968f\u673a\u5b57\u6bcd\u548c\u6570\u5b57\u65b9\u6cd5String value = "";Random random = new Random();int gen = random.nextInt(2);//0\u30011\u30012String charornum = gen % 2 == 0 ? "char" : "num";if ("char".equals(charornum)) {int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;int ascii = random.nextInt(26);value += (char) (ascii + temp);} else if ("num".equalsIgnoreCase(charornum)) {value += String.valueOf(random.nextInt(10));}return value;}public static void printSet(Set set){ //\u6253\u5370set\u7684\u65b9\u6cd5 Iterator iterator = set.iterator(); while (iterator.hasNext()) {String ele = (String) iterator.next();System.out.print(ele+" "); }}

public class test{
private static String [] str={"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","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","1","2","3","4","5","6","7","8","9"};
private static String DarwCode(){
String strRandom="";
char temp;
int [] num = new int[6];
int numA=0,numB=0,numC=0,ramNum=(int)(Math.random()*62);
//\u53bb\u6389\u91cd\u590d\u7684\u5173\u952e\u4ee3\u7801
num[0]=ramNum;
for (int i = 1; i < num.length; i++) {
num[i] = (int)(Math.random()*62);
for (int j = 0; j < i; j++) {
while ((num[i]==num[j])&&(i>=1)) {
i--;
}
}
}
//\u8f93\u51fa\u5b57\u7b26\u4e32
for (int i = 0; i < num.length; i++) {
strRandom+=str[num[i]];
}
for (int i = 0; i <strRandom.length(); i++) {
temp=strRandom.substring(i,i+1).charAt(0);
if ((int)temp>=48&&(int)temp<=57) {
numA++;
}else if ((int)temp>=65&&(int)temp<=90) {
numB++;
}else if((int)temp>=97&&(int)temp<=122){
numC++;
}
}
if ((numA+numB==6)||(numA+numC==6)||(numB+numC==6)) {
strRandom = DarwCode();
}
return strRandom;
}
public static void main(String[] args) {
System.out.println(DarwCode());
}
}

public class GenerateRandomLetterAndNum {
public static void main(String[] args) {

Set<String> store = getletterandnum(6);

printSet(store);

}

public static Set<String> getletterandnum(int length) {

Set<String> set =new HashSet<String>();

for (int i = 0; i < length; i++) {

String value = getrandom();

set.add(value);
}

if (set.size()<length) { //如果没有生成6位

String value = getrandom();//继续调用生成随机数的方法

set.add(value);

}

return set;
}

private static String getrandom() { //生成随机字母和数字方法

String value = "";

Random random = new Random();

int gen = random.nextInt(2);//0、1、2

String charornum = gen % 2 == 0 ? "char" : "num";

if ("char".equals(charornum)) {

int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;

int ascii = random.nextInt(26);

value += (char) (ascii + temp);

} else if ("num".equalsIgnoreCase(charornum)) {

value += String.valueOf(random.nextInt(10));
}
return value;
}

public static void printSet(Set set){ //打印set的方法

Iterator iterator = set.iterator();
while (iterator.hasNext()) {
String ele = (String) iterator.next();
System.out.print(ele+" ");

}

}

表达式转换类
${expression}计算expression并输出
#{ expression }数字计算#{ expression ;format}安格式输出数字format为M和m
M表示小数点后最多的位数,m表示小数点后最少的位数如#{121.2322;m2M2}输出121.23 !

有些长,给你个可以直接使用的验证码,你可以改下长度,
http://www.cnblogs.com/wufengxyz/archive/2011/12/04/2275489.html

用random生成随机数

  • java swing闅忔満楠岃瘉鐮
    绛旓細image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 鑾峰彇鍥惧舰涓婁笅鏂 Graphics g = image.getGraphics(); // 鐢熸垚闅忔満绫 Random random = new Random(); // 璁惧畾鑳屾櫙鑹 g.setColor(getRandColor(200, 250));...
  • java 鐧婚檰鏃剁殑楠岃瘉鐮鎬庝箞鍋?
    绛旓細2. 鎶鐢熸垚鐨勯殢鏈哄瓧绗︿覆鏀惧湪鍥剧墖涓婏細鍙互浣跨敤Java鐨凣raphics2D鏉ョ粯鍒舵枃鏈紝骞惰缃瓧浣撱侀鑹茬瓑灞炴с3. 鎶婄敓鎴愮殑鍥剧墖鍝嶅簲缁欏鎴风锛氬彲浠ヤ娇鐢↖mageIO绫绘潵鐢熸垚鍥剧墖鏂囦欢銆4. 妫楠岀敤鎴疯緭鍏ョ殑楠岃瘉鐮佹槸鍚﹀拰鍥剧墖涓殑鐩稿悓锛氬彲浠ヤ娇鐢⊿ession鏉ュ瓨鍌楠岃瘉鐮侊紝鎻愪氦琛ㄥ崟鏃跺啀楠岃瘉锛屾垨鑰呭湪Ajax璇锋眰鏃舵妸楠岃瘉鐮侀獙璇佺粨鏋滆繑鍥炵粰...
  • Java濡備綍瀹炵幇楠岃瘉鐮楠岃瘉鍔熻兘
    绛旓細Java濡備綍瀹炵幇楠岃瘉鐮侀獙璇佸姛鑳藉憿?鏃ュ父鐢熸椿涓,楠岃瘉鐮闅忓鍙,浠栧彲浠ュ湪涓瀹氱▼搴︿笂淇濇姢璐﹀彿瀹夊叏,閭d箞浠栨槸鎬庝箞瀹炵幇鐨勫憿? Java瀹炵幇楠岃瘉鐮侀獙璇佸姛鑳藉叾瀹為潪甯哥畝鍗:鐢ㄥ埌浜嗕竴涓狦raphics绫诲湪鐢绘澘涓婄粯鍒跺瓧姣,闅忔満閫夊彇涓瀹氭暟閲忕殑瀛楁瘝闅忔満鐢熸垚,鐒跺悗鍦ㄧ敾鏉夸笂闅忔満鐢熸垚鍑犳潯骞叉壈绾裤 棣栧厛,鍐欎竴涓楠岃瘉鐮佺敓鎴甯姪绫,鐢ㄦ潵缁樺埗闅忔満瀛楁瘝: import...
  • java椤圭洰 swt 鐨 鎬庝箞瀹炵幇鐭俊楠岃瘉鐮
    绛旓細//鍒跺畾杈撳嚭鐨楠岃瘉鐮涓哄洓浣 for(int i=0;i<4;i++){ switch(random.nextInt(3)){ case 1: //鐢熸垚A-Z鐨勫瓧姣 itmp=random.nextInt(26)+65;ctmp=String.valueOf((char)itmp);break;case 2: //鐢熸垚姹夊瓧 String[] rBase={"0","1","2","3","4","5","6","7","8",...
  • java楠岃瘉鐮鎬庝箞鍋
    绛旓細涓嬮潰鏄疄鐜伴獙璇佺爜涓,鏈闅剧殑涓鍧---鐢诲浘鐗,鎴戣繖涓敮鎸佷腑鏂楠岃瘉鐮,鎴戞妸浠g爜璐翠笂,濡傛灉瑕佹暣涓」鐩殑璇,鎴戝彂缁欎綘銆俻ackage SMART.JRSOFT.IDENTTIFYINGCODE;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.Htt...
  • java鎬庝箞缂栧啓娣峰悎楠岃瘉鐮?(鎺у埗鍙拌緭鍑哄氨鍙互)
    绛旓細import java.util.Random;public class VerificationCodeHuihe{//楠岃瘉鐮鍥剧墖涓彲浠ュ嚭鐜扮殑瀛楃闆嗭紝鍙互鏍规嵁闇瑕佷慨鏀 private static char mapTable[]={ 'a','b','c','d','e','f', 'g','h','i','j','k','l', 'm','n','o','p','q','r', 's',...
  • 浣跨敤eclipse鍦ㄥ仛椤圭洰,鐜板湪瑕佸仛鐧诲綍,鎯冲仛楠岃瘉鐮,閭d綅鍙互缁欐垜鍏蜂綋鐨勪唬鐮...
    绛旓細楠岃瘉鐮佷竴鑸兘鏄敤鍥剧墖鍋氱殑锛屾垜娌″仛杩囷紝鎴戠殑鏄嚜宸辩敤闅忔満鏁板仛鐨勫瓧姣楠岃瘉鐮侊紝鎴戞妸瀹冭创鍦ㄤ笅闈簡锛屼綘鑻ユ槸鎯宠鍥剧墖鐨勪篃涓嶆槸寰堥夯鐑︼紝浣犲彲浠ヨ嚜宸辨濊冧竴涓嬶紝涔熸槸鐢ㄩ殢鏈烘暟锛岀劧鍚庡垽鏂殢鏈烘暟鐨勫肩‘瀹氭樉绀哄摢涓浘鐗囷紝浠g爜锛歱ublic class RandomStr{ static String randomstr(int num){ String s="";//寰幆闅忔満...
  • java娉ㄥ唽 鍙戣繃鏉ョ殑鎵嬫満楠岃瘉鐮鎬庝箞鑾峰緱
    绛旓細鍋囧娉ㄥ唽鐨勭數璇濇槸 # 鐢ㄦ埛鐐瑰嚮娉ㄥ唽鍚庯紝鍚庡彴鐢熸垚涓涓6浣鐨勯殢鏈烘暟锛屼繚瀛樺埌鏁版嵁搴擄紝骞朵笖灏嗚楠岃瘉鐮侊紝璋冪敤鐭俊鎺ュ彛锛屽彂閫佺粰璇ユ墜鏈哄彿锛佹帴涓嬫潵鐢ㄦ埛濉啓鏀跺埌鐨勯獙璇佺爜锛屽苟涓旇繘琛岄獙璇侊紙鍖归厤鏁版嵁搴撳瓨鐨勯獙璇佺爜锛屼互鍙婅楠岃瘉鐮佹槸鍚﹀け鏁堬級锛
  • java鎬庝箞鐢熸垚楠岃瘉鐮鍥剧墖
    绛旓細浣嗘垜浠繕鏄彁閱掑ぇ瀹朵富瑕佷繚鎶よ嚜宸辩殑瀵嗙爜锛屽敖閲忎娇鐢ㄦ贩鏉備簡鏁板瓧銆佸瓧姣嶃佺鍙峰湪鍐呯殑6浣浠ヤ笂瀵嗙爜锛屼笉瑕佷娇鐢ㄨ濡1234涔嬬被鐨勭畝鍗曞瘑鐮佹垨鑰呬笌鐢ㄦ埛鍚嶇浉鍚屻佺被浼肩殑瀵嗙爜銆傝繕鏈夊氨鏄敞鍐屾椂鍙戣〃鏂囩珷鏃跺姞楠岃瘉鐮侊紝灏遍槻浜虹敤娉ㄥ唽鏈猴紝鏃犻檺鐨勮嚜鍔ㄦ敞鍐岋紝package com.schoolwx.util;import java.io.*;import java.util.*;import ...
  • 姹Java澶х缁欎釜浠g爜!璁$畻楠岃瘉鏉″舰鐮
    绛旓細public class Ean13Barcode { private String code;public Ean13Barcode(String code) { super();this.code = code;} public String encode() { if (null == code) { return "";} char[] codes = code.toCharArray();int sum = 0;for (int i = 0; i < codes.length; i++) { int...
  • 扩展阅读:免费验证码 ... 短信验证码接口java ... 验证码生成器app ... 免费接码验证码平台 ... java随机4位字母验证码 ... telegeram短信验证收不到 ... 免费验证码代收app ... 图形验证码一览表 ... java怎么做一个验证码 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网