在javascript中创建基本验证码

时间:2017-03-18 23:37:09

标签: javascript captcha

所以,我想创建验证码,在每次重页加载时在文本输入中生成5个随机数。当我运行该功能时,它不会工作,所以我想知道为什么 这是HTML:

    <input type="text" id="ver" onload="captchaCreate()" disabled></input>

这是javascript中的函数:

function captchaCreate(){
    var niz = new Array(5);
    for (var i; i<=5; i++){
        niz[i] = Math.floor(Math.random()*10);
    }
        document.getElementById("ver").value = niz.join("");
}

2 个答案:

答案 0 :(得分:1)

正如评论中所提到的,创建一个客户端验证码是非常无用的

至于您的代码,输入没有onload事件,您需要分配要循环的var,因为undefined + 1NaN

&#13;
&#13;
window.onload = function() {
  captchaCreate();
}

function captchaCreate(){
    var niz = new Array(5);
    for (var i=0; i<5; i++){
        niz[i] = Math.floor(Math.random()*10);
    }
    document.getElementById("ver").value = niz.join("");
}
&#13;
<input type="text" id="ver" disabled></input>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在刷新可以使用的页面时加载功能

window.onload = function() {
  captchaCreate();
}

或只是:

captchaCreate();

您可以使用JS或PHP执行此操作,但PHP在加载页面时会启动一次 (你说你只需要在刷新页面时调用该函数。所以如果你想要你可以使用php ^^)

这对我有用:

function captchaCreate(){
    var ar = new Array(5);
    for (var i=0; i<5; i++){
        ar[i] = Math.floor(Math.random()*10);
    }
    document.getElementById("your_div").value = ar.join("");
}