2020-12-30

之前做表单验证一般都是网站系统自动的验证码,今天做专题页面要加前台验证就找了一个验证码的插件,感觉这个还挺方便实用的, 下面不多说,直接把插件代码分享给大家,希望对大家有用。

html代码:

css代码: #ehong-code-input{ width:42px; letter-spacing:2px; margin:0px 8px 0px 0px; } .ehong-idcode-val{ position:relative; padding:1px 4px 1px 4px; top:0px; *top:-3px; letter-spacing:4px; display:inline; cursor:pointer; font-size:16px; font-family:"Courier New", Courier, monospace; text-decoration:none; font-weight:bold; } .ehong-idcode-val0{ border:solid 1px #A4CDED; background-color:#ECFAFB; }

.ehong-idcode-val1{
border:solid 1px #A4CDED;
background-color:#FCEFCF;
}
.ehong-idcode-val2{
border:solid 1px #6C9;
background-color:#D0F0DF;
}
.ehong-idcode-val3{
border:solid 1px #6C9;
background-color:#DCDDD8;
}
.ehong-idcode-val4{
border:solid 1px #6C9;
background-color:#F1DEFF;
}
.ehong-idcode-val5{
border:solid 1px #6C9;
background-color:#ACE1F1;
}
.ehong-code-val-tip{
font-size:12px;
color:#1098EC;
top:0px;
*top:-3px;
position:relative;
margin:0px 0px 0px 4px;
cursor:pointer;
}
js代码:
(function($){
var settings = {
e : ‘idcode’,
codeType : { name : ‘follow’, len: 4},
codeTip : ‘看不清,换一组’,
inputID : ‘’
};

var _set = {
	storeLable  : 'codeval',
	store		: '#ehong-code-input',
	codeval		: '#ehong-code'
}
$.idcode = {
	getCode:function(option){
		_commSetting(option);
		return _storeData(_set.storeLable, null);
	},
	setCode:function(option){
		_commSetting(option);
		_setCodeStyle("#"+settings.e, settings.codeType.name, settings.codeType.len);

	},
	validateCode:function(option){
		_commSetting(option);
		var inputV;
		if(settings.inputID){
			inputV=$('#' + settings.inputID).val();
		}else{
			inputV=$(_set.store).val();
		}

		if(inputV == _storeData(_set.storeLable, null)){
			return true;
		}else{
			_setCodeStyle("#"+settings.e, settings.codeType.name, settings.codeType.len);
			return false;
		}
	}
};

function _commSetting(option){
	$.extend(settings, option);
}

function _storeData(dataLabel, data){
	var store = $(_set.codeval).get(0);
	if(data){
		$.data(store, dataLabel, data);
	}else{
		return $.data(store, dataLabel);
	}
}

function _setCodeStyle(eid, codeType, codeLength){
	var codeObj = _createCode(settings.codeType.name, settings.codeType.len);
	var randNum = Math.floor(Math.random()*6);
	var htmlCode=''
	if(!settings.inputID){
		htmlCode='<span><input id="ehong-code-input" type="text" maxlength="4" /></span>';
	}
	htmlCode+='<div id="ehong-code" class="ehong-idcode-val ehong-idcode-val';
	htmlCode+=String(randNum);
	htmlCode+='" href="#" οnblur="return false" οnfοcus="return false" οncοntextmenu="return false" οnclick="$.idcode.setCode()">' + _setStyle(codeObj) + '</div>' + '<span id="ehong-code-tip-ck" class="ehong-code-val-tip" οnclick="$.idcode.setCode()">'+ settings.codeTip +'</span>';
	$(eid).html(htmlCode);
	_storeData(_set.storeLable, codeObj);
}

function _setStyle(codeObj){
	var fnCodeObj = new Array();
	var col = new Array('#BF0C43', '#E69A2A','#707F02','#18975F','#BC3087','#73C841','#780320','#90719B','#1F72D8','#D6A03C','#6B486E','#243F5F','#16BDB5');
	var charIndex;
   	for(var i=0;i<codeObj.length;i++){
		charIndex = Math.floor(Math.random()*col.length);
		fnCodeObj.push('<font color="' + col[charIndex] + '">' + codeObj.charAt(i) + '</font>');
	}
	return fnCodeObj.join('');
}
function _createCode(codeType, codeLength){
   var codeObj;
   if(codeType=='follow'){
	   codeObj = _createCodeFollow(codeLength);
   }else if(codeType=='calc'){
	   codeObj = _createCodeCalc(codeLength);
   }else{
	   codeObj="";
   }
   return codeObj;
 }

 function _createCodeCalc(codeLength){
   var code1, code2, codeResult;
   var selectChar = new Array('0','1','2','3','4','5','6','7','8','9');
   var charIndex;
   for(var i=0;i<codeLength;i++){
	   charIndex = Math.floor(Math.random()*selectChar.length);
	   code1 +=selectChar[charIndex];

	   charIndex = Math.floor(Math.random()*selectChar.length);
	   code2 +=selectChar[charIndex];
   }
   return [parseInt(code1), parseInt(code2) , parseInt(code1) + parseInt(code2)] ;
 }

 function _createCodeFollow(codeLength){
   var code = "";
   var selectChar = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');

   for(var i=0;i<codeLength;i++){
	   var charIndex = Math.floor(Math.random()*selectChar.length);
	   if(charIndex % 2 == 0){
		   code+=selectChar[charIndex].toLowerCase();
	   }else{
		   code +=selectChar[charIndex];
	   }
   }
   return code;
 }

})(jQuery);
JQuery库文件相信大家都有,在这里就不发了,效果图如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值