JS 正则 日期 自动修正的 插件?

JS 正则 具体某个汉字的方法请教?
// 日期正则 检查
const rege = {
// regex1: /^(\d{2|4})年(d{1,2})月(\d{1,2})日$/,
// regex2: /^(\d{1,2})月(\d{1,2})日$/,
// regex3: /^星期[一|二|三|四|五|六|天|日]{1}$/,
regex4: /^(\d{2|4})-(\d{1,2})-(\d{1,2})$/,
regex5: /^(\d{1,2})[/|-]{1}(\d{1,2})$/
}
有没有 把 7-9 7/10 19/1/10 自动转日期的插件??

合并一起直接括号,然后每个正则用竖线隔开就行了,不过不建议合并一起,到时要处理不同格式,需要些不同逻辑,合并在一起分组会变



    const rege = {
        regex1: /^(\d{2}|\d{4})年(\d{1,2})月(\d{1,2})日$/,
        regex2: /^(\d{1,2})月(\d{1,2})日$/,
        regex3: /^(monday|tuesday|tednesday|thursday|friday|saturday|sunday|星期[一|||||||日]{1})$/i,
        regex4: /^(\d{2}|\d{4})-(\d{1,2})-(\d{1,2})$/,
        regex5: /^(\d{1,2})[\/|-]{1}(\d{1,2})$/
    }
    var re = /^((\d{2}|\d{4})年(\d{1,2})月(\d{1,2})日|(\d{1,2})月(\d{1,2})日|(monday|tuesday|tednesday|thursday|friday|saturday|sunday|星期[一|||||||日]{1})|(\d{2}|\d{4})-(\d{1,2})-(\d{1,2}))|(\d{1,2})[\/|-]{1}(\d{1,2})$/i
    var s = '20年1月1日'
    console.log(re.test(s), rege.regex1.test(s))
    s = '1月1日'
    console.log(re.test(s), rege.regex2.test(s))
    s = '1月1日'
    console.log(re.test(s), rege.regex2.test(s))
    s = 'monday'
    console.log(re.test(s), rege.regex3.test(s))
</script>


如果入参格式固定,获取固定位,自己写一下就可以了呀。

自动转肯定不行 。 moment.js 提供了一些格式化的api和其它api

手写日期格式,或者用插件moment.js

你是要转成'10月1日'这种字符串格式还是转成时间戳
如果是转成时间戳的话必须带上年,然后可以用Date对象实现部分功能,像下图这样

img

如果是转成字符串的话可以不考虑Date对象只用正则实现,如果只用正则的话没有必要写道一起,考虑到后续调试维护分开写是最好的,我的建议是写一个责任链用不同正则模板来处理日期

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632