可生成4位验证码,不区分大小写
public class ValidCode {
//
private String source = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
/**
* *根据提供的验证码位数生成指定位长度的验证码
* @param n
* @return
*/
public String genCode(int n) {
String code = "";
for(int i = 0;i <n;i++) {
//0-61之间是的数值
int index = (int)(Math.random()*source.length());
char c = source.charAt(index);
code += c;
}
return code;
}
public boolean Validate(String realCode,String inputCode) {
return realCode.equalsIgnoreCase(inputCode);
}
public static void main(String[] args) {
ValidCode vc = new ValidCode();
String c = vc.genCode(4);
System.out.println(c);
System.out.print("请输入验证码:");
Scanner sc = new Scanner(System.in);
while(true) {
String input = sc.nextLine();
if(vc.Validate(c, input)) {
System.out.println("验证通过!");
sc.close();
return;
}else {
System.out.println("验证码输入错误,请重新输入");
}
}
}
}