function guid (l) {
if(l === undefined){
l = 32;
}
var ascii = '';
for(var x=0; x<l; x++){
var rnd = Math.floor(Math.random()*(122 - 48))+48;
var convert = String.fromCharCode(rnd);
if(!(convert.match(/[a-zA-Z0-9]/g))){
// how to return 'rnd' until the lenght of the parameter is complete
}else{
ascii += convert;
}
}
return ascii;
}
console.log(guid());
这是我的代码。你可以给我建议如何执行我的if语句吗?我的输出现在基于rnd传递if语句的次数。
答案 0 :(得分:0)
你应该使用while
var rnd = Math.floor(Math.random()*(122 - 48))+48;
var convert = String.fromCharCode(rnd);
while(!(convert.match(/[a-zA-Z0-9]/g))) {
rnd = Math.floor(Math.random()*(122 - 48))+48;
convert = String.fromCharCode(rnd);
}
答案 1 :(得分:0)
您可以使用while循环并检查ascii
的长度。
function guid (l) {
var ascii = '', convert;
l = l || 32;
while (ascii.length < l) {
convert = String.fromCharCode(Math.floor(Math.random() * (122 - 48)) + 48);
if (convert.match(/[a-zA-Z0-9]/g)){
ascii += convert;
}
}
return ascii;
}
console.log(guid());
&#13;