JS数字转大写 (js日期输入框加减)

需求

  • 二〇二一年二月二十五日=>2021-2-25

JS代码部分

chineseDateToNumDate(chineseDate) {
      const chineseNumMap = {
        "〇": 0,
        "一": 1,
        "二": 2,
        "三": 3,
        "四": 4,
        "五": 5,
        "六": 6,
        "七": 7,
        "八": 8,
        "九": 9,
      };

      const chineseMonthMap = {
        "一": 1,
        "二": 2,
        "三": 3,
        "四": 4,
        "五": 5,
        "六": 6,
        "七": 7,
        "八": 8,
        "九": 9,
        "十": 10,
        "十一": 11,
        "十二": 12,
      };

      const chineseDayMap = {
        "〇": 0, "一": 1, "二": 2, "三": 3, "四": 4, "五": 5, "六": 6, "七": 7, "八": 8, "九": 9, "十": 10, "十一": 11, "十二": 12, "十三": 13, "十四": 14, "十五": 15,
        "十六": 16, "十七": 17, "十八": 18, "十九": 19, "二十": 20, "二十一": 21, "二十二": 22, "二十三": 23, "二十四": 24, "二十五": 25, "二十六": 26, "二十七": 27, "二十八": 28, "二十九": 29, "三十": 30, "三十一": 31
      };

      let year = chineseNumMap[chineseDate.charAt(0)] * 1000 + chineseNumMap[chineseDate.charAt(1)] * 100 + chineseNumMap[chineseDate.charAt(2)] * 10 + chineseNumMap[chineseDate.charAt(3)];

      let matchResult = chineseDate.match(/年(.*)月(.*)日/);
      let monthStr = matchResult[1];
      let month = chineseMonthMap[monthStr];

      let dayStr = matchResult[2];
      let day = chineseDayMap[dayStr];

      let result = year + '-' + month + '-' + day
      // console.log(new Date(result))
      return result;
    }