Javascript 限制随机字符串生成器的输出长度
我的随机发生器的名字主要是大的一面。据我所知,如果您使用Javascript 限制随机字符串生成器的输出长度,javascript,random,output,Javascript,Random,Output,我的随机发生器的名字主要是大的一面。据我所知,如果您使用.round、.ceil或.floor,这可能是一个因素。它还应该使一个名字不小于3,不大于13 在为名称添加标题后,有些名称是2和14之类的,所以我再次修改了它。我走错方向了吗 var nameLength = Math.floor(Math.random() * (13 - 3) + 3); /* min 3 max 13*/ var compareLetter = 0; var randomLetter = ""; var rando
.round
、.ceil
或.floor
,这可能是一个因素。它还应该使一个名字不小于3,不大于13
在为名称添加标题后,有些名称是2和14之类的,所以我再次修改了它。我走错方向了吗
var nameLength = Math.floor(Math.random() * (13 - 3) + 3); /* min 3 max 13*/
var compareLetter = 0;
var randomLetter = "";
var randomName = "";
var capitolLetter = "";
var checkLetter = 0;
var nameTitle = "XXX"; /* titles add _ between title and name*/
var nameLetters = [
["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
["a", "e", "i", "o", "u"],
["b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"]
];
if (nameTitle !== "") { /* my attempt to subtract title length +1 from name length if over 13*/
nameLength = nameLength + (nameTitle.length + 1);
if (nameLength > 13) {
nameLength = nameLength - (nameLength - 13);
}
}
for (i = 0; i < nameLength; i++) {
randomLetter = nameLetters[compareLetter][Math.floor(Math.random() * nameLetters[compareLetter].length)];
checkLetter = nameLetters[1].indexOf(randomLetter);
if (checkLetter > -1) { /* my version of keeping consanants and vowels from stacking up */
compareLetter = 2;
} else {
compareLetter = 1;
}
if (randomName.length < 1) { /* my version to keep first letter capitolized*/
capitolLetter = randomLetter.toUpperCase();
randomName = randomName + capitolLetter;
} else {
randomName = randomName + randomLetter;
}
}
if (nameTitle !== "") {
alert(nameTitle + "_" + randomName);
} else {
alert(randomName);
}
alert(nameLength);
alert(randomName.length);
var nameLength=Math.floor(Math.random()*(13-3)+3);/*最少3个最多13个*/
var compareLetter=0;
var-letter=“”;
var randomName=“”;
var capitolLetter=“”;
var checkLetter=0;
var nametTitle=“XXX”;/*标题在标题和名称之间添加*/
变量名称字母=[
[“a”,“b”,“c”,“d”,“e”,“f”,“g”,“h”,“i”,“j”,“k”,“l”,“m”,“n”,“o”,“p”,“q”,“r”,“s”,“t”,“u”,“v”,“w”,“x”,“y”,“z”],
[“a”、“e”、“i”、“o”、“u”],
[“b”,“c”,“d”,“f”,“g”,“h”,“j”,“k”,“l”,“m”,“n”,“p”,“q”,“r”,“s”,“t”,“v”,“w”,“x”,“y”,“z”]
];
如果(nameTitle!==“”){/*如果超过13,我尝试从名称长度中减去标题长度+1*/
nameLength=nameLength+(nameTitle.length+1);
如果(名称长度>13){
nameLength=nameLength-(nameLength-13);
}
}
对于(i=0;i-1){/*我的版本,防止consanants和元音重叠*/
比较器=2;
}否则{
比较器=1;
}
如果(randomName.length<1){/*我的版本保持首字母大写*/
capitolLetter=randomLetter.toUpperCase();
randomName=randomName+capitolLetter;
}否则{
随机名称=随机名称+随机字母;
}
}
如果(名称标题!==“”){
警报(名称标题+随机名称);
}否则{
警报(随机名称);
}
警报(名称长度);
警报(randomName.length);
任何指导都将不胜感激。我为什么会被否决,我问了一个问题,展示了我的工作示例,并描述了情况,但我为此失去了一分?听起来并不是完全出于防御,但为什么我和我的朋友在这里发布任何东西的人都会立即被同一个人编辑,但这些人编辑我们的帖子并投票否决我们的帖子,却从来没有回答过我们的任何帖子。你的问题到底是什么还不是很清楚。尽量保持简短。(例如,仅张贴几行预期结果和实际结果)