来一个朴素的验证码小插件

随机倾斜,随机颜色的小验证码插件.<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>验证码</title>    <style>        #check {            width: 100px;            height: 20px;        }        #showResult{            height: 20px;        }    </style></head><body>//输入框 失去光标触发事件判断<input id="yours" type="text" onblur="judgeCheck()">//验证码显示区域 点击刷新验证码<div id="check"  onclick="mycheck(this)">

</div>//结果显示区  可以随心增添样式<div id="showResult">

</div></body><script>    function mycheck(obj) {        //获取id        var id = obj.id;        //获取数量        var num = obj.num || 4;        //获取颜色        var color = obj.color;        var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "q", "w", "e", "r", "t", "y", "u", "i", "o",            "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n",            "m", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H",            "J", "K", "L", "Z", "X", "C", "V", "B", "N", "M"];        //可以在css中添加需要要其他样式  开始拼串        //找到显示区        var node = document.getElementById(id);        var nodeStr = "";        for (var i = 0; i < num; i++) {            //随机数组索引            var randomIndex = parseInt(Math.random() * 100000) % (array.length);            //获取随机的度数 正负31度            var randomDeg = parseInt(Math.random() * 100000) % 62 - 31;            //获取pc端样式            var outStyle = window.getComputedStyle(node, null);            //计算每个的宽度            var perWidth = parseInt(outStyle.width) / num + "px";            //rgba(x,x,x,x) 红 绿 蓝 透明度  样式 用于随机颜色            var r = parseInt(Math.random() * 100000) % 255;            var g = parseInt(Math.random() * 100000) % 255;            var b = parseInt(Math.random() * 100000) % 255;            //不指定颜色默认随机 随机到背景色 别打我..
           var c = color || "rgba(" + r + "," + g + "," + b + ",1)";

nodeStr += "<span class=‘randomIcon‘ style=‘display: inline-block;text-align: center" +                ";color:" + c +                ";transform:rotate(" + randomDeg + "deg)" +                ";width:" + perWidth +                ";" + "‘>" +                array[randomIndex] + "</span>";        }

node.innerHTML = nodeStr;

}    function judgeCheck() {        //获取验证码值 转成大写        var icons = document.getElementsByClassName(‘randomIcon‘);        var iconVal = ‘‘;        for (var i=0;i<icons.length;i++) {            iconVal += icons[i].innerHTML;        }        iconVal = iconVal.toUpperCase();        //获取输入值  转成大写        var yours = document.getElementById(‘yours‘).value;        yours=yours.toUpperCase();

//判断        if (yours == iconVal) {            document.getElementById(‘showResult‘).innerHTML = "验证通过";            return true;        } else {            document.getElementById(‘showResult‘).innerHTML = "请输入正确验证码";            return false;        }

}    mycheck({        id: "check",//id        //默认随机 随机到背景色 别打我..        color: ‘‘,        //显示区域宽度 背景等请在样式中添加修改

})

</script></html>
时间: 2024-10-09 11:15:14

来一个朴素的验证码小插件的相关文章

VALIDFORM前端小插件实现表单验证;

好开心啊,有了这个小插件就不用在服务器端去写用户输入的东西是否合法,又美观: 这个是官网,使用入门那儿很简单,不如直接改demo; 下载的demo就是这个: 小李子(永奇商城注册页面表单验证): 就是这个,那个邮箱正则验证效果如何加上去的呢: 看demo就知道(把demo里面之中整个demo文件夹拷贝在项目之中,将css之中validform必须的留下,其他删除掉,也就是demo文件夹里面/*==========以下部分是Validform必须的===========*/这一行字下面的css样式

浮动【电梯】或【回到顶部】小插件:iElevator.js

iElevator.js 是一个jquery小插件,使用简单,兼容IE6,支持UMD和3种配置方式,比锚点更灵活. Default Options _defaults = { floors: null, btns: null, backtop: null, selected: '', sticky: -1, visible: { isHide: 'no', numShow: 0 }, speed: 400, show: function(me) { me.element.show(); }, h

JS小插件之2——cycle元素轮播

元素轮播效果是页面中经常会使用的一种效果.这个例子实现了通过元素的隐藏和显示来表现轮播效果.效果比较简单. 效果图如下: 源代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;"> 5 <title> cycle demo </titl

H5柱状图2D小插件

1 概述 前端技术在代码的世界里是不可或缺的,而在里面有个东西是经常使用的那便是 js插件,作为一个小白本章节学习如何封装插件,分享下自己的小东西:如何纯js去自己去封装一个柱状图2D小插件? 2 有点low的效果图如下: 3 主要功能 支持超简单使用 支持数据类型json对象 支持设置左右边距 支持设置柱状图宽度 支持柱状图的颜色 支持动画过渡 当然也可以自己增加背景图片功能使其看起来好看一点 ...后续功能可以自己酌情添加 4实现方式 首先 ,我们需要一个容器,在这里只需要一个div就可以了

简单的轮播图小插件

1 (function () { 2 $.fn.moreImg = function () { 3 var allpar = Array.prototype.slice.call(arguments);//获取传过来的参数,打散成数组,如对这个有疑问可以参考我收藏的[优雅代码]深入浅出 妙用Javascript中apply.call.bind的那个文章,作者讲的老好了 4 var elem = allpar[0]; 5 var allImg = allpar[1]; 6 if (allImg.l

浏览器首页设置(当被小插件占用时)

之前打开浏览器的时候都显示自己设置的首页,突然有一天显示的不是我设置的百度首页了,原来是金山的一个小插件,到设置里面设置了好几次都不行. 问题在这里: 右键浏览器(chrome为例)---> 属性 ---> 快捷方式  目标 ---> 删除掉其中不认识的网址 (如果其中出现了莫名奇妙的网址) 如果修改不了  再看下面:右键浏览器(chrome为例) ---> 常规 ----> 只读的复选框去掉

Chrome插件开发 小插件-acfun看图 1

之前在acfun看文章,经常遇到别人发其他网站的图而导致无法看到.这很不好,而且要想看到这些图片,操作是获得图片地址后,将最后的jpg改为jpeg即可,这种简单的操作应该是很容易实现的,于是我要开发一个简单的小插件来方便自己看评论.... 首先,先介绍一下开发的原因,在acfun下的评论中有时候会有一些其他人发的图片,这些图片由于是从自己的网盘或者空间发出来的,类似百度,会被屏蔽,出现 一般的解决方法是获得其图片地址后,在新的页面打开,将最后的jpg后缀改为jpeg,然后就可以看到图片了. 然后

Html小插件

1.天气预报插件 效果图: 源代码: <iframe width="650" scrolling="no" height="60" frameborder="0" allowtransparency="true" src="http://i.tianqi.com/index.php?c=code&id=12&icon=1&num=7"></ifr

实用的 jquery 小插件

1 /** 2 * ---------------------------------------------------- 3 * 实用的 jquery 插件方法 4 * @QQ 617937424 5 * @寄语 不要重复写同样的代码,学会封装成方法,慢慢积累,提高效率. 6 * ---------------------------------------------------- 7 */ 8 9 10 /** 11 * 全选/反选 12 * 13 * html结构: 14 <div i