GUID(グローバル統一識別子)は、マシンで生成された数を指し、同じ空間と時間のすべてのマシンに固有のものであることを保証します。通常、プラットフォームはガイドを生成するためのAPIを提供します。生成アルゴリズムは、イーサネットカードアドレス、ナノ秒時間、チップIDコード、および多くの可能な数値を使用して、非常に興味深いものです。 GUIDの唯一の欠点は、生成された結果文字列が比較的大きくなることです。
The format of GUID is: xxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GUIDはフロントエンドの開発ではあまり役に立たないことを誰もが知っていますが、IDを挿入する必要があり、このIDが背景などに対応する場合でも、利便性のためにGUIDを生成できます。
一般的に、SQL、Java、C#などのバックグラウンドやデータベース言語でGUIDを生成するのは非常に簡単ですが、フロントエンドにはGUIDを直接生成する方法がないため、自分でしか書くことができません。ただし、GUIDはイーサネットカードのアドレスとナノ秒単位での時間を取得する必要があるためです。フロントエンドからこの情報を取得することは困難です(子供の靴について知っている場合は教えてください)。実装をシミュレートしてGUIDを生成できます。コードは次のとおりです。
/*
*関数:GUIDコードを生成します。GUIDは、14日未満の日時と18以上の16進乱数で構成されています。 GUIDには特定の繰り返し確率がありますが、繰り返し確率は非常に低いです。理論的には、繰り返し確率は10msあたり1/(16^18)、つまり16のパワーの1部分であり、繰り返し確率は無視できると同じくらい低い*/
function guid(){this.date = new date();/*初期化されたかどうかを決定します。次のコードが初期化されている場合、次のコードは実行されなくなります。実際、それは1回のみ実行されます*/if(thipof this.newguid!= 'function'){/*Guid code*/guid.prototype.newguid = function(){this.date = new date(); var guidstr = ''; sexadecimaldate = this.hexadecimal(this.getGuiddate(); this.hexadecimal(this.getGuidtime()、16); while(guidstr.length <32){guidstr += math.floor(math.random()* 16).tostring(16);} this.formatguid(guidstr);}/** function:現在の日付のGUID形式を取得します。 */guid.prototype.getGuiddate = function(){return this.date.getFullyear() + this.addzero(this.date.getMonth() + 1) + this.addzero(this.date.getday();}/** function:guid funcation 2桁:12300933 * return値:GUID日付形式の文字列を返します。 this.addzero(parseint(this.date.getmilliseconds() / 10));} / ** function:1桁の正の整数に0を追加します。非ナン数に変換できる文字列である場合、実装することもできます。パラメーター:パラメーターは、前に追加する準備ができている数字、または数字の値に変換できる文字列を示していることを示しています* return値:条件を満たしている場合、0を追加した後に文字列タイプを返します。 Math.floor(num);} else {return num.tostring();}}/** function:y-digit値をx-git値に変換*パラメーター:最初のパラメーターは変換される値を表します。 2番目のパラメーターは、変換される粒子を表します。 3番目のパラメーターはオプションであり、現在の粒子番号を表します。書き込みではない場合、10* return値:変換された文字列*/guid.prototype.hexadecimal = function(num、x、y){if(y!= undefined){return parseint(num.tostring()、y).tostring(x); x;} parseint(num.toString())。toString(x);}}/** function:32ビット文字列をGUIDモードの文字列にフォーマット*パラメーター:最初のパラメーターは32ビット文字列* return値を表します。 ' - '、str2 = guidstr.slice(8、12) + ' - '、str3 = guidstr.slice(12、16) + ' - '、str4 = guidstr.slice(16、20) + ' - '、str5 = guidstr.slice(20); return str1 + str2 + str3 + str5 + str5 + str5;}}}}}}GUIDオブジェクト
JSファイルに保存して参照してください。
その後、必要です
var guid = new Guid();
alert(guid.newguid());
GUIDコードを取得できます。
実装の原則は非常に簡単です。ここでは、システム時間と18以上の16進の乱数を使用して、システム時間を16進変換します。まだ繰り返すことは可能ですが、繰り返しの確率は非常に低く、無視できます。