在html链接中生成随机字符串

时间:2013-09-09 17:40:57

标签: javascript html string url random

所以我正在尝试建立一个链接,其中url的最后一部分是JavaScript生成的随机字符串。我一直在使用的Javascript函数是:

 function randomString(length, chars) {
    var result = '';
    for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
    return result;
}
document.write(randomString(6, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'));

如何在网址中使用此字符串,例如:<a href="http://mypage.com/random-generated-string">?

2 个答案:

答案 0 :(得分:1)

这样的事情:

var link = document.getElementById("id_of_anchor");
link.href = "http://mypage.com/" + randomString(6, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');

答案 1 :(得分:0)

纯JavaScript:

function randomizeHref()
{
    var e = window.event;
    e.preventDefault();

    var url = e.target.href;
    url += randomString(6, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');

    location.replace(url);

    return false;
}

然后在你的HTML中:

<a href="http://www.mypage.com/" onclick="randomizeHref();">Click here</a>

使用jQuery:

function randomizeHref(e)
{
    e.preventDefault();

    var url = this.href;
    url += randomString(6, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');

    location.replace(url);

    return false;
}

$(function()
{
    $('a[rel=randomizeHref]').click(randomizeHref);
});

然后:

<a href="http://www.mypage.com/" rel="randomizeHref">Click here</a>