随机生成数字与字母验证码_简易版
2018-08-28 19:48
127 查看
原文:https://blog.csdn.net/hei_axin/article/details/82050506
由于我还是初学者,并没有考虑到是否安全这方面。有什么错误的或者不好的,欢迎大家指出,便于我及时改正。谢谢!
首先写一个随机生成字符串的方法
[code]//length为产生的位数 public static String getRandomString(int length) { // 定义一个字符串(A-Z,a-z,0-9)即62位; String str = "zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890"; // 由Random生成随机数 Random random = new Random(); StringBuffer sb = new StringBuffer(); // 长度为几就循环几次 for (int i = 0; i < length; ++i) { // 产生0-61的数字 int number = random.nextInt(62); // 返回指定索引的字符 sb.append(str.charAt(number)); } return sb.toString(); }
然后就是调用这个方法了。
在这里我使用的是springMvc。当然也可以使用Servlet来调用,调用的方式也是一样的,这里我就不多说了。
[code]@Controller public class TestCode { @RequestMapping("/getCode.action") @ResponseBody public String getCode() { //调用帮助类里面的随机生成字符串方法,传入的参数为要生成的字符串的长度 return CharacterUtils.getRandomString(4); } @RequestMapping("/testCode") public String testCode() { return "test"; } }
调用完了接下来就是jsp页面显示了
在这里我对验证码字符串做了一些样式调整
[code]<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <style type="text/css"> #testimg { text-align: center; background-color: #F44336; color: white; font-style: italic; font-family: fantasy; width: 40px; content: initial; display: -webkit-inline-box; } </style> </head> <body> 用户名:<input type="text" name="name" id="name"><br /> 密 码:<input type="text" name="pwd" id="pwd"><br /> 验证码:<input type="text" id="inputCode"> <div id="code"></div><a href="#" onclick="getCode()" style="font-size: 10px;">看不清</a><br /> <input type="submit" value="提交" id="submit"> </body> <script type="text/javascript"> $(function() { getCode(); }) function getCode() { $.ajax({ data : "get", typeData : "json", url : "getCode.action", success : function(result) { $("#testimg").html(result); }, error : function(result) { alert(result); } }) }; $("#submit").click(function() { var inputCode = $("#inputCode").val(); var code = $("#code").text() if (inputCode == code) { alert("验证码成功!"); } else { alert("验证失败"); alert("inputCode-->" + inputCode); alert("Code-->" + Code); } }); </script> </html>
总的来说,我写的这个功能非常的简单。实用不实用,这个我就不知道了,但是也算是完成了验证码这个功能。
由于我也是初学者,考虑的也不周全,请各位大神轻点喷。
阅读更多相关文章推荐
- Java web 开发: 随机生成验证码,支持大小写字母、数字;随机字体
- java验证码中的数字、字母、汉字如何随机生成
- Java程序员从笨鸟到菜鸟(一)验证码实现,随机生成数字和字母、点击刷新、加入干扰线等样式
- java验证码中的数字、字母、汉字如何随机生成
- 随机生成6位验证码或密码(字母和数字组合)
- Java随机生成字母数字组合的验证码
- 随机生成字母数字验证码,可定义验证码的长度
- 怎样生成带有随机杂点的ASP数字以及字母验证码
- 生成随机的验证码?大小写字母和数字
- Java 随机生成验证码,支持大小写字母、数字;随机字体
- C# 生成验证码取随机数字加字母(改进版)
- 字母加数字随机验证码的生成
- Java随机生成六位字符的验证码,包括数字,大小写字母
- Java 随机生成验证码(支持大小写字母、数字、随机字体)的实例
- Java web 开发: 随机生成验证码,支持大小写字母、数字;随机字体
- pyton3 随机生成 数字和字母的验证码
- 怎么随机生成字母数字验证码并可定义验证码的长度
- 怎么随机生成字母数字验证码并可定义验证码的长度
- C# 生成验证码,取随机数字加字母
- ava验证码中的数字、字母、汉字如何随机生成