前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js生成年月+字母+五位数的编码,实现字母递增与五位数序号递增

js生成年月+字母+五位数的编码,实现字母递增与五位数序号递增

作者头像
江咏之
发布2022-09-28 10:48:09
8840
发布2022-09-28 10:48:09
举报
文章被收录于专栏:技术社区

这里写目录标题

需求:

1、新增数据要求生成的编码格式为YYYYMMA00001。例如:202209A00001 2、序号 00001递增,当序号大于99999时,字母A递增。例如:A99999 时递增为B00001

如图所示:

在这里插入图片描述
在这里插入图片描述

实现:

年月就不说了。获取一下补个零就行了。

字母递增:

代码语言:javascript
复制
 // 获取字母(A大写 a小写)
 // index 从0开始
 let letter = String.fromCharCode("A".charCodeAt(0) + index);

判断一下,当序号大于99999时,index+1,在给end从1开始计数(end为序号)

代码语言:javascript
复制
        // 满99999 字母递增 序号重置为1
        let index = 0;
        if (end > 99999) {
          end = total - 99999 + 1;
          index++;
        }

        end = "00000" + end;
        end = end.substr(end.length - 5, 5);
        // 获取字母(A大写 a小写)
        let letter = String.fromCharCode("A".charCodeAt(0) + index);
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

序号递增:

代码语言:javascript
复制
        // total 数据现有总长度 新增+1
        let end = total + 1;
        
        end = "00000" + end;
        end = end.substr(end.length - 5, 5);

核心代码:

代码语言:javascript
复制
// total 后台查回来的数据总数
function code(total) {
        // total 数据现有总长度 新增+1
        let end = total + 1;
        //获取当月时间 YYYYMM
        let date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
        if (month >= 1 && month <= 9) {
          month = "0" + month; //自动补零
        }
        let currentdate = year + month;

        // 满99999 字母递增 序号重置为1
        let index = 0;
        if (end > 99999) {
          end = total - 99999 + 1;
          index++;
        }

        end = "00000" + end;
        end = end.substr(end.length - 5, 5);
        // 获取字母(A大写 a小写)
        let letter = String.fromCharCode("A".charCodeAt(0) + index);

        return currentdate + letter + end; //年月+字母+5位序号
}

pass:给后人留个坑吧:

在这里插入图片描述
在这里插入图片描述

这块儿的逻辑有问题,只能算到B。C就不行了。也就是说AB两个字母都可以算满,99999x2 大概20w的数据,嗯,短时间内肯定是发现不了,本来想用取余算的。算了,早就不想干了,20w的数据,不得添加好几年??我早就走了,给后人留个坑吧,奈斯!!拜拜!!!

把字母递增和序号递增单独拧出来还是可以用的。。。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这里写目录标题
  • 需求:
    • 如图所示:
    • 实现:
      • 字母递增:
        • 序号递增:
          • 核心代码:
            • pass:给后人留个坑吧:
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档