gpt4 book ai didi

javascript - 使用 jQuery 重置每个实例的随机字符串

转载 作者:行者123 更新时间:2023-11-28 01:07:51 26 4
gpt4 key购买 nike

我正在生成一系列随机字符,这些字符将添加到隐藏字符之后。我还包含了用于隐藏原始消息的脚本。

我似乎无法弄清楚如何“重置”每次使用的随机字符串。当前返回的是每个实例的相同字符串。我想在每个隐藏字符后插入一个随机字符串。

我做错了什么?

var message = "A random message with each character hidden in a span tag."

$(function() {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+,./?";
var string_length = Math.ceil(Math.random() * 10) + 19;
var randomstring = '';
for (var i=0; i<string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
};

$('body')
.html(message)
.children()
.andSelf()
.contents()
.each(function(){
var $this = $(this);
$this.replaceWith($this.text().replace(/[A-Za-z0-9., ]/g, "<span hidden>$&</span>" + randomstring));
console.log(randomstring);
console.log(randomstring);
});
});

最佳答案

尝试使 randomstring 成为一个函数而不仅仅是一个变量。

var message = "A random message with each character hidden in a span tag."
function randomstring() {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+,./?";
var string_length = Math.ceil(Math.random() * 10) + 19;
var result= '';
for (var i=0; i<string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
result+= chars.substring(rnum,rnum+1);
};
return result;
}

$(function() {
$('body')
.html(message)
.children()
.andSelf()
.contents()
.each(function(){
var $this = $(this);
$this.replaceWith($this.text().replace(/[A-Za-z0-9., ]/g, "<span hidden>$&</span>" + randomstring()));
console.log(randomstring());
console.log(randomstring());
});
});

关于javascript - 使用 jQuery 重置每个实例的随机字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com