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

Generate random string in a html link

本文关键字:随机 字符串 html 链接      更新时间:2023-09-26

所以我正在尝试创建一个链接,其中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'));

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

像这样:

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

纯 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>