gpt4 book ai didi

javascript - 随机序列生成正则表达式分隔符

转载 作者:行者123 更新时间:2023-11-27 22:55:19 33 4
gpt4 key购买 nike

此代码的输出使用正则表达式 \w 用连字符 (-) 分隔每 4 位数字,但如果我将 \w 替换为其他正则表达式。这是为什么?

这个效果很好。

function gen(length, separator) {
var license = new Array(length + 1).join((Math.random().toString(36) + '00000000000000000').slice(2, 18)).slice(0, length);
return license.toUpperCase().replace(/(\w{4})/g, '$1' + separator).substr(0, length + Math.round(length/4)-1);
}
document.write(gen(16, '-'));

每 4 位数字之间不使用连字符分隔。

function gen(length, separator) {
var license = new Array(length + 1).join((Math.random().toString(36) + '00000000000000000').slice(2, 18)).slice(0, length);
return license.toUpperCase().replace(/([A-Z]{4})/g, '$1' + separator).substr(0, length + Math.round(length/4)-1);
}
document.write(gen(16, '-'));

最佳答案

我认为你需要这样的东西:

function gen(length, separator) {
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var text = '';
for( var i=0; i < length; i++ ) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
if(i%4 == 3 && i<length-1) text += separator;
}

return text;
}
document.write(gen(16, '-'));

关于javascript - 随机序列生成正则表达式分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37673844/

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