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对象实现部分功能,像下图这样
如果是转成字符串的话可以不考虑Date对象只用正则实现,如果只用正则的话没有必要写道一起,考虑到后续调试维护分开写是最好的,我的建议是写一个责任链用不同正则模板来处理日期
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!