/** * idcode 1.0 - validate user. * version 1.0 * @requires jquery v1.2 * author ehong[idehong@gmail.com] **/ /** * @example: $.idcode.setcode(); * @desc: make a validate code append to the element that id is idcode. * * @example $.idcode.validatecode(); * @desc return true if user input value equal idcode. **/ (function($){ var settings = { e : 'idcode', codetype : { name : 'follow', len: 5},//len是修改验证码长度的 codetip : '换一张?', inputid : 'txtidcode'//验证元素的id }; 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.touppercase() == _storedata(_set.storelable, null).touppercase()){//修改的不区分大小写 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=''; } htmlcode+='
' + _setstyle(codeobj) + '
' + ''+ settings.codetip +''; $(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.charat(i) + ''); } 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