【发布时间】:2021-11-30 10:25:09
【问题描述】:
到目前为止,我的代码检查日期是否有效,但我不知道如何获取我在输入字段中输入的日期的日期名称。例如:如果我输入 12/01/1994 它应该打印星期三
function isValidDate(inputDate) {
if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(inputDate)) return false;
var parts = inputDate.split('/'); //12 01 1994
var day = parseInt(parts[0], 10);
var month = parseInt(parts[1], 10);
var year = parseInt(parts[2], 10);
if (year < 1000 || year > 3000 || month == 0 || month > 12) return false;
var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) monthLength[1] = 29;
return day > 0 && day <= monthLength[month - 1];
}
class Inputdate extends React.Component {
state = {
inputDate: '',
day: '',
};
render() {
console.log(this.state);
return (
<div>
<input
name="date"
type="text"
value={this.state.value}
placeholder="dd-mm-yyyy"
onChange={(e) => {
if (isValidDate(e.target.value)) {
this.setState({ inputDate: e.target.value });
} else {
this.setState({ inputDate: 'invalid date' });
}
}}
/>
<p>{this.state.inputDate}</p>
</div>
);
}
}
【问题讨论】:
-
尝试使用普通的 new Date() getDays()
标签: javascript reactjs