所以我想要完成的是,例如,如果我有 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>
提前致谢。
最佳答案
您需要以某种方式传入您希望它匹配的模式。然后将您的 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 个字母等)
关于javascript - 生成具有特定模式的 "serial"代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938634/