按指定格式输入日期yyyy-MM-dd,验证输入是否合法。
时间: 2024-05-08 07:18:10 浏览: 142
可以使用正则表达式进行验证,如下所示:
```
function isValidDate(dateString) {
var regEx = /^\d{4}-\d{2}-\d{2}$/;
if(!dateString.match(regEx)) return false; //格式不正确
var d = new Date(dateString);
var dNum = d.getTime();
if(!dNum && dNum !== 0) return false; //无法转换为时间
return d.toISOString().slice(0,10) === dateString;
}
//测试
console.log(isValidDate("2021-12-31")); //true
console.log(isValidDate("20211231")); //false
console.log(isValidDate("2021-02-29")); //false,该日期不存在
```
相关问题
yyyy--MM--dd 合法日期的正则表达式
以下是一个简单的正则表达式,可以用来验证 yyyy-MM-dd 格式的合法日期:
```regex
^(?:(?:19|20)\d\d)-(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:19|20)(?:0[48]|[2468][048]|[13579][26])-(?:02)-(?:0[1-9]|1\d|2[0-9])|(?:19|20)\d\d-(?:0[13-9]|1[0-2])-(?:0[1-9]|1\d|2[0-9]|30)|(?:19|20)\d\d-(?:0[1-9]|1[0-2])-31$
```
这个正则表达式考虑了闰年的情况,验证了 1900 年至 2099 年之间的日期。它可以匹配的日期范围是从 1900-01-01 到 2099-12-31。你可以使用这个表达式来验证字符串是否符合合法日期的格式。
java 验证yyyy mm dd_java正则表达式 验证时间(yyyy-MM-dd)合法性
可以使用如下的正则表达式来验证时间的合法性:
```java
String regex = "^(\\d{4})-(\\d{2})-(\\d{2})$";
```
其中:
- `^`:表示字符串的开始位置。
- `\\d{4}`:表示四位数字,即年份。
- `\\d{2}`:表示两位数字,即月份和日期。
- `-`:表示连接符。
- `$`:表示字符串的结束位置。
完整的 Java 代码如下:
```java
String regex = "^(\\d{4})-(\\d{2})-(\\d{2})$";
String dateStr = "2022-01-01";
if (dateStr.matches(regex)) {
System.out.println("时间格式正确!");
} else {
System.out.println("时间格式错误!");
}
```
输出结果为:
```
时间格式正确!
```
阅读全文