ホームページ  >  記事  >  ウェブフロントエンド  >  JSに実装された乱数を生成する4つの関数の共有_基礎知識

JSに実装された乱数を生成する4つの関数の共有_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:14:341122ブラウズ

最初の方法

コードをコピーします コードは次のとおりです:

/*
*@desc: ランダムな文字列を生成します
*@remark: toString メソッドはパラメータとして塩基を受け取ることができ、塩基の上限は 2 ~ 36 です。指定しない場合、デフォルトの基数は 10 進数です
*/
functiongenerateRandomAlphaNum(len) {
var rdmString = "";
for (; rdmString.length 戻り値 rdmString.substr(0, len);
}

2 番目の方法

コードをコピーします コードは次のとおりです:

//JS は .net の NewID() と同様の GUID 関数を生成します。 関数 S4() {
戻り値 (((1 Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
関数 NewGuid() {

Return (S4() S4() "-" S4() "-" S4() "-" S4() "-" S4() S4() S4());
}

3 番目の方法

コードをコピーします コードは次のとおりです:
//JS は .net の NewID() と同様の GUID 関数を生成します。 function newGuid() {
var guid = "";
for (var i = 1; i var n = Math.floor(Math.random() * 16.0).toString(16);
guid = n;
If ((i == 8) || (i == 12) || (i == 16) || (i == 20))
guid = "-";
}
ガイドを返します;
}


4 番目の方法

コードをコピーします コードは次のとおりです:
/*
*@desc: ランダムな文字列を生成します
*@demo:console.log(ranStr());
*/
;(関数(){
//数字 0 ~ 9、大文字、小文字、ASCII または UNICODE エンコード (10 進数)、合計 62
var charCodeIndex = [[48,57],[65,90],[97,122]];
var charCodeArr = [];

関数 getBetweenRound(min,max){ return Math.floor(min Math.random()*(max-min));

};

関数 getCharCode(){

for(var i=0,len=3;i var thisArr = charCodeIndex[i];
for(var j=thisArr[0],thisLen=thisArr[1];j charCodeArr.push(j);
}
}
}

関数 ranStr(slen){ スレン = スレン || 20;

charCodeArr.length
var res = [];

for(var i=0;i varindex = getBetweenRound(0,61);
res.push(String.fromCharCode(charCodeArr[index]));
}
return res.join('');
};

this.ranStr = ranStr; })();



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。