js/js.KinerCode.js

(开头部分) 9KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/**
 * 纯js验证码校验
 * Created by kiner on 15/3/26.
 */
function KinerCode(options) {

    this.opt = this.extend(true, this.options, options);


    this.opt.chars = (this.opt.chars && this.opt.chars.length == 0) ? this.options.chars : this.opt.chars;

    //背景图优先级最高,用户指定背景颜色优先级次之,随机背景颜色优先级最低
    this.opt.bg = (this.opt.bgImg && this.opt.bgImg.length != 0) ? "url('" + this.opt.bgImg + "')" : this.options.bgColor;

    //当验证码是算术题形式时,先计算出算式的结果并保存与answer数组中
    if(this.opt.question){
        this.answer = [];
        for(var i=0;i<this.opt.chars.length;i++){
            this.answer.push(eval(this.opt.chars[i]));
        }
    }
    //插件初始化
    this.init();
    //绑定事件
    this.bind();

}

/**
 * 初始化,创建验证码元素
 */
KinerCode.prototype.init = function () {

    var self = this;

    if(!this.body){
        this.body = document.createElement('div');
    }else{
        this.body.innerHTML = '';
    }

    //当用户选择禁止复制验证码中文字时执行,禁用验证码区域及验证码输入框的复制、选中、右键菜单等操作
    if (!self.copy) {
        doProhibit();
    }

    //创建验证码
    this.myCode = this.createCode();
    //console.log(this.myCode);

    //创建验证码项元素并添加进其盒子中
    var len = this.myCode.arrCode.length;

    for (var i = 0; i < len; i++) {
        var item = this.createCodeEle(this.myCode.arrCode[i]);
        this.body.appendChild(item);
    }

    //为验证码盒子设置样式
    this.body.style.background = this.opt.randomBg ? this.toRGB().background : this.opt.bg;
后面还有 289 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。