所以我想要完成的是,例如,如果我有0000-0000-0000-0000,那么我希望只有例如第二个代码字母和/或我的特定字母可以将自己设置为预设,例如:2KS8-LMAO-8XG2-48SY。现在我有代码用我用html编写的随机字母/数字替换每个字符串。
function randomised(len) {
return Math.floor(Math.random() * len);
}
function randomiseString(str){
var charSet = "abcdefghijklmnopqrstuvwxyz0123456789";
var str = str.replace(/[^-]/g,function() {
var a = charSet[randomised(charSet.length)].toUpperCase();
return a;
});
return str;
}
$('.combination').text(function(i,t){
return randomiseString(t);
});
-
<b>Random Combination:</b> <span class="combination">0000-0000-0000-0000</span>
提前致谢。
答案 0 :(得分:4)
您需要以某种方式传递您希望它匹配的模式。然后将str_replace分成多个部分。所以,如果你想要替换一个字符,你会使用一组字符,用一个字母就可以使用一组不同的字符。也许是这样的事情:
var chars = "abcdefghijklmnopqrstuvwxyz"
var nums = "0123456789"
str.replace(/[0-9]/g, function () {
return nums[randomised(nums.length()];
}
str.replace(/[a-z]/g, function () {
return chars[randomised(chars.length()].toUpperCase();
}
在这种情况下,无论str
保持什么样的模式,您都可以定义模式。例如0000-aaaa-0000-aaaa
每次运行脚本时,模式将保持不变(即4个数字,4个字母等)