1、引用jquery

2、Html页面

 <div>
<canvas id="canvas" style="cursor: pointer; height: 35px; width: 100px; top: 10px; position: relative;"></canvas>
<input type="hidden" id="yzmji" />
<input type="button" id="a" />
</div>

3、JS页面

<script>
document.getElementById("a").onclick = function () {
var b = $("#yzmji").val();
alert(b); } var _picTxt = "";
function randomNum(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
function randomColor(min, max) {
var _r = randomNum(min, max);
var _g = randomNum(min, max);
var _b = randomNum(min, max);
return "rgb(" + _r + "," + _g + "," + _b + ")";
}
document.getElementById("canvas").onclick = function (e) {
e.preventDefault();
drawPic();
$("#yzmji").val(_picTxt.substr(_picTxt.length - , _picTxt.length - ));
};
function drawPic() {
var $canvas = document.getElementById("canvas");
var _str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var _num = ;
var _width = $canvas.width;
var _height = $canvas.height;
var ctx = $canvas.getContext("2d");
ctx.textBaseline = "bottom";
ctx.fillStyle = randomColor(, );
ctx.fillRect(, , _width, _height);
for (var i = ; i < _num; i++) {
var x = (_width - ) / _num * i + ;
var y = randomNum(_height * / , _height);
var deg = randomNum(-, );
var txt = _str[randomNum(, _str.length)];
_picTxt += txt;
ctx.fillStyle = randomColor(, );
ctx.font = randomNum(, ) + "px SimHei";
ctx.translate(x, y);
ctx.rotate(deg * Math.PI / );
ctx.fillText(txt, , );
ctx.rotate(-deg * Math.PI / );
ctx.translate(-x, -y);
}
for (var i = ; i < _num; i++) {
ctx.strokeStyle = randomColor(, );
ctx.beginPath();
ctx.moveTo(randomNum(, _width), randomNum(, _height));
ctx.lineTo(randomNum(, _width), randomNum(, _height));
ctx.stroke();
}
for (var i = ; i < _num * ; i++) {
ctx.fillStyle = randomColor(, );
ctx.beginPath();
ctx.arc(randomNum(, _width), randomNum(, _height), , , * Math.PI);
ctx.fill();
}
return _picTxt;
}
drawPic();
$("#yzmji").val(_picTxt.substr(_picTxt.length - , _picTxt.length)); </script>

完!

JS验证码的更多相关文章

  1. js 验证码 倒计时60秒

    js 验证码 倒计时60秒 <input type="button" id="btn" value="免费获取验证码" /> & ...

  2. js验证码有效时间倒计时

    js验证码有效时间倒计时 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type& ...

  3. 纯js验证码

    纯js验证码 <!DOCTYPE html> <html> <head> <title>纯js验证码</title> </head&g ...

  4. easyui page添加文本,js验证码

    onLoadSuccess: function (db) { //db是后台数据的返回结果集 $.ajax({ url: "AjaxSource/Buex.ashx", data: ...

  5. JS验证码邮件

    js var time = 30; var canSend = true; function f5() { if (canSend) {//判断是否要ajax发送刷新验证码 验证码在后台刷新 //al ...

  6. js 验证码倒计时

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. angular.js 验证码注册登录

    css部分 header{ height: 50px; line-height: 50px; display: flex; } .callback{ text-align: left; display ...

  8. 一些网站后台模板源码分析 Particleground.js 验证码

    转: https://blog.csdn.net/bcbobo21cn/article/details/51271750 1 灰色简洁企业后台管理模板 效果: 看下项目结构: 它使用了moderniz ...

  9. JS 验证码的实现

    转自:https://github.com/ace0109/verifyCode 正要做一个验证码,网上找到这个还不错: gVerify.js: !(function(window, document ...

随机推荐

  1. oracle数据库之数组的操作样例

    1.创建bean对象 --创建bean对象 CREATE OR REPLACE TYPE "FM_FLOWCPHDTSWJJIMPBEAN" as object ( wf_no ) ...

  2. 轻量级ORM-Fluentdata入门

    Fluent Data 入门 由 Primates 根据互联网资源整理FluentData 是微型 ORM(micro-ORM)家族的一名新成员,旨在比大型 ORM(full ORM)更加易用.Flu ...

  3. SqList *L 和 SqList * &L的区别/学习数据结构突然发现不太懂 小祥我查找总结了一下

    小祥在学习李春葆的数据结构教程时发现一个小问题,建立顺序表和输出线性表,这两个函数的形参是不一样的. 代码在这里↓↓↓ //定义顺序表L的结构体 typedef struct { Elemtype d ...

  4. 【leedcode】longest-substring-without-repeating-characters

    Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  5. 真TM操蛋——观《鬼子来了》有感

    杀日本人有罪?日本人杀中国人为何无罪?战俘?双手沾满鲜血,仇人,为何杀仇人还要被自己人判刑,被仇人斩首? 看了最后结局,我心里只有这两句话,同学说结局不好,我觉得结局恰恰很好,姜文是个很好的导演,他布 ...

  6. 高级java必会系列一:zookeeper分布式锁

    方案1: 算法思路:利用名称唯一性,加锁操作时,只需要所有客户端一起创建/test/Lock节点,只有一个创建成功,成功者获得锁.解锁时,只需删除/test/Lock节点,其余客户端再次进入竞争创建节 ...

  7. DBA数据库:MySQL简述

    一. 数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数 ...

  8. ios 控件显示不出来的几个可能

  9. EL表达式查询出来的数据,下载成excel表格,很实用的

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  10. PHP 返回JSON

    有个朋友说PHP不能返回JSON对象,作为.net的我认为应该是可以的,设置一下header 就行了. 果不然,google 一下,备忘如下: <?php $result = array('Na ...