主要介绍了java随机生成任意位数短信验证码的实例代码,文中给大家示范的是随机生成6位数的验证码并随机包含数字加英文大小写,有需要的直接调用方法生成即可。 注: * 大写字母的十进制范围是(65,91)小写字母的十进制范围是(97,123)数字的十进制范围是(48,58)
//验证码返回方法--默认数字加英文小写自定义返回位数
public static String code(int bit) {
String lattercode = "";
char[] all = (all(1) + all(2) + all(3)).toCharArray();
Random random = new Random();
for (int i = 0; i < bit; i++) {
lattercode += all[random.nextInt(all.length)];
}
return lattercode;
}
/*自定义返回位数位数验证码返回方法--自定义返回位数,自定义验证码内容
*mode=1为仅数字
*mode=2为数字加英文小写
*mode=3为数字加英文大小写
* */
public static String code(int bit, int mode) {
String lattercode = "";
for (int i = 1; i <= mode; i++) {
lattercode += all(i);
}
char[] all = (lattercode).toCharArray();
lattercode = "";
Random random = new Random();
for (int i = 0; i < bit; i++) {
lattercode += all[random.nextInt(all.length)];
}
return lattercode;
}
/*
* 初始化格式
*
* */
public static String all(int mode) {
String lattercode = "";
switch (mode) {
// 1为全为数字
case 1:
for (int i = 48; i < 58; i++) {
lattercode += (char) i;
}
return lattercode;
// 2英文小写
case 2:
for (int i = 97; i < 97 + 26; i++) {
lattercode += (char) i;
}
return lattercode;
// 3为英文大写
case 3:
for (int i = 65; i < 65 + 26; i++) {
lattercode += (char) i;
}
return lattercode;
default:
return "格式出错!";
}
}
不知道大家还有什么其他方法,可以互相探讨一下,请私信或者评论吧,我真的一点都不懂java!