【JS】利用中国古老的天干地支给文件命名

【需求】

有若干实质为SQL的变量,取值后生成文件下载,需要拟定一个不容易重复的初始名,本以时间戳命名,后发现过长且不好记忆。

【解决方案】

从天干中取一个随机值,从地支中取一个随机值,合成初始名。此名兼具简短、重复率低和易记的特点。

【JS代码】

复制代码
复制代码
    //----------------------------------------------
    // 使用天干地支生成名字,有简短重名率低的优势
    //----------------------------------------------
    function generateName(){
        var arr1=['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'];
        var idx1=Math.floor(Math.random()*arr1.length);

        var arr2=['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'];
        var idx2=Math.floor(Math.random()*arr2.length);

        return arr1[idx1]+arr2[idx2];
    }
复制代码
复制代码

【有图有真相】

 【全部代码】

复制代码
复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>天干地支命名法</title>

<style type="text/css">

</style>
</head>
<body>
    <button onclick="javascript:addName('nameOl');">Add</button>
    <ol id="nameOl">
    </ol>
</body>
</html>
<script type="text/javascript">
<!--
    function addName(olId){
        var ol=document.getElementById(olId);

        var li=document.createElement("li");
        li.appendChild(document.createTextNode(generateName()));
        ol.appendChild(li);
    }

    //----------------------------------------------
    // 使用天干地支生成名字,有简短重名率低的优势
    //----------------------------------------------
    function generateName(){
        var arr1=['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'];
        var idx1=Math.floor(Math.random()*arr1.length);

        var arr2=['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'];
        var idx2=Math.floor(Math.random()*arr2.length);

        return arr1[idx1]+arr2[idx2];
    }
//-->
</script>
复制代码
复制代码

END

posted @   逆火狂飙  阅读(71)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2019-12-26 SpringBoot简单(登录/显示/登出)工程下载 附带打包成ROOT.war文件并发布到tomcat里
2019-12-26 SpringBoot简单(登录/显示/登出)工程下载 使用Thymeleaf输出页面文字
2019-12-26 用Nginx将web请求引导到本机两个tomcat
2019-12-26 如何在本机启动两个tomcat
2017-12-26 X5平方速算法的证明
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示