// 日期格式 xxxx年xx月xx日 剔除月大,月小,年或月或日期过大
export const preciseDateJudgment = (value = '') => {
const chargeFormat = /^\d{4}年\d{0,2}月\d{0,2}日$/.test(value);
if (chargeFormat) {
const intYear = value.split('年')[0];
const intMonth = value.split('年')[1].split('月')[0];
const intDay = value.split('月')[1].split('日')[0];
if (isNaN(intYear) || isNaN(intMonth) || isNaN(intDay)) return false;
if (intMonth > 12 || intMonth < 1) return false;
if (intDay < 1 || intDay > 31) return false;
if ((intMonth === 4 || intMonth === 6 || intMonth === 9 || intMonth === 11) && (intDay > 30)) {
return false;
}
if (intMonth === 2) {
if (intDay > 29) return false;
if ((((intYear % 100 === 0) && (intYear % 400 !== 0)) ||
(intYear % 4 !== 0)) && (intDay > 28)) {
return false;
}
}
return true;
}
return false;
};