zoukankan      html  css  js  c++  java
  • ID生成算法(二)

    上一篇文章介绍了一种用雪花算法生成GUID的方法,下面介绍里外一种生成GUID并导出为.txt文件的方法:

    话不多说 show you the code !

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>GUID</title>
    </head>
    <body>
        <button id="save" type="button">保存GUID文件</button>
        <script type="text/javascript">
        var GUID_ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
        var GUID_LENGTH = 20,res = [];
        var guid = function(a) {
            // 改变参数i,想要多少个给多少
            for (var i = 0; i < 10; i++) {
                a = null != a ? a : GUID_LENGTH;
                for (var b = [], str = '', c = 0; c < a; c++) {
                    b.push(GUID_ALPHABET.charAt(Math.floor(Math.random() * GUID_ALPHABET.length)));
                }
                str = b.join("");
                console.log('str--' + i, str);
                res.push(str+'
    ');
            }
            return res;
        };
    
        document.querySelector('#save').addEventListener('click', saveFile);
    
        function fakeClick(obj) {
            var ev = document.createEvent("MouseEvents");
            ev.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
            obj.dispatchEvent(ev);
        }
    
        function exportRaw(name, data) {
            var urlObject = window.URL || window.webkitURL || window;
            var export_blob = new Blob([data]);
            var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
            save_link.href = urlObject.createObjectURL(export_blob);
            save_link.download = name;
            fakeClick(save_link);
        }
    
        function saveFile() {
            var inValue = guid();
            exportRaw('guid.txt', inValue);
        }
        </script>
    </body>
    
    </html>

      另外,如果想要使生成的GUID更复杂,更有序,可以在这个生成的GUID字符串基础上加 时间戳 相关的业务分类字符串 等等。

    已经验证该方法生成的大量ID没有重复。

  • 相关阅读:
    Delphi cxGrid –--> RecordIndex out of Range
    局域网共享需要密码
    提高AdoQuery的速度
    string literals may have at most 255 elements
    delphi控件属性大全-详解-简介
    Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值
    FastReport 使用说明
    delphi的取整函数round、trunc、ceil和floor
    cxGrid 速度
    SQL Server 无法在服务器上访问指定的路径或文件解决方法
  • 原文地址:https://www.cnblogs.com/sunyuweb/p/11685312.html
Copyright © 2011-2022 走看看