仿QQ注册验证码的实现。
2016-03-31 15:51
211 查看
最近发现一些网站的验证码全部换成了“极验”和“点触”的,发现QQ的注册也是与“点触”的相似。就想尝试实现一个。
先上效果图:
View Code
当然,实际上QQ注册的需要验证字都是一个词组,要做到这一点可能只有做一个词库才能完成了。
先上效果图:
public bool Validate(dynamic pos) { bool isValidate = false; _httpContext.Session["VCode_ISValidate"] = false; if (pos.Length > 0 && _httpContext.Session["VCode_Word"] != null) { bool isNotMath = false; List<WordPos> verWordList = (List<WordPos>)_httpContext.Session["VCode_Word"]; _httpContext.Session["VCode_ISValidate"] = true; _httpContext.Session["VCode_Word"] = null; if (pos.Length == verWordList.Count) { for (int i = 0; i < pos.Length; i++) { var _posLeft = Convert.ToInt32(pos[i]["left"]) + 20 / 2; var _posTop = Convert.ToInt32(pos[i]["top"]) + 23 / 2; Point _posCenter = new Point(_posLeft, _posTop); var _ckLeft = Convert.ToInt32(verWordList[i].X + verWordList[i].Width / 2); var _ckTop = Convert.ToInt32(verWordList[i].Y + verWordList[i].Height / 2); Point _ckPosCenter = new Point(_ckLeft, _ckTop); if (Utils.GetDistance(_posCenter, _ckPosCenter) > 23) { isNotMath = true; break; } } if (isNotMath == false) { isValidate = true; } } } return isValidate; }
View Code
当然,实际上QQ注册的需要验证字都是一个词组,要做到这一点可能只有做一个词库才能完成了。
相关文章推荐
- 俩个float数之间比较大小
- 【追求进步】字符串的排列
- Winio64在64位系统中初始化失败问题
- Java锁之自旋锁详解
- 【OpenCV】OpenCV3的第三天——core组件
- 多线程:下载管理器(模拟 SDWebImage)
- APP Run In Background(App 的后台运行)
- Eclipse常用设置
- 笔记 AsyncTask运行原理
- xcode7.2如何真机测试iOS9.3系统
- 使用git pull文件时和本地文件冲突怎么办?
- 通过url地址获取数据后将数据利用SpringMVC的@ResponseBody返回中文可能出现乱码地方
- iOS之隐藏/显示tabbar
- 归并排序的使用
- IOS折线统计图
- 李彦宏:数据技术共享与“圈子联合文化”
- ExecutorService的几种关闭线程池方法
- ssh 无密码登陆
- SecurCRT命令回显设置
- 详解JavaScript表单验证(E-mail 验证)