js正则匹配时间格式'yyyy-mm'
时间: 2023-12-26 14:06:48 浏览: 33
在 JavaScript 中,你可以使用以下正则表达式来匹配时间格式为'yyyy-mm'的字符串:
```javascript
const regex = /\d{4}-\d{2}/;
const str = "2022-01";
const matches = str.match(regex);
console.log(matches);
```
输出:
```
[ '2022-01', index: 0, input: '2022-01', groups: undefined ]
```
这个正则表达式会匹配四个数字的年份,后跟一个短横线,再后跟两个数字的月份。`match()` 方法会返回所有匹配的字符串,如果没有找到匹配的字符串,则返回 `null`。
希望这个回答能够帮到你!如果还有其他问题,请随时提问。
相关问题
js正则只获取日期yyyy-mm-dd
好的,您可以使用以下正则表达式来匹配日期格式为 "yyyy-mm-dd" 的字符串:
```
/\d{4}-\d{2}-\d{2}/
```
这个正则表达式可以匹配形如 "2021-10-22" 的日期字符串,其中 "\d" 表示匹配数字,"{4}" 表示匹配四次,"{2}" 表示匹配两次。
使用方法如下:
```javascript
const str = "今天是2021-10-22,明天是2021-10-23";
const reg = /\d{4}-\d{2}-\d{2}/g;
const result = str.match(reg);
console.log(result); // ["2021-10-22", "2021-10-23"]
```
这里使用了 String 对象的 match 方法来查找字符串中符合正则表达式的部分,并返回一个数组。如果字符串中有多个匹配的日期字符串,可以使用 "g" 修饰符来全局匹配。
js正则校验yyyy-MM格式
可以使用以下正则表达式进行校验:
```javascript
/^\d{4}-(0?[1-9]|1[0-2])$/
```
解释一下:
- `^` 和 `$` 表示字符串的开始和结束
- `\d{4}` 表示匹配四个数字(即年份)
- `-` 表示匹配一个横杠
- `(0?[1-9]|1[0-2])` 表示一个月份,有两种情况:
- `0?[1-9]` 表示一个数字,可能有前导零,范围是 01 至 09
- `|` 表示或者
- `1[0-2]` 表示一个数字,范围是 10 至 12
完整的代码示例:
```javascript
function validateDate(dateString) {
const pattern = /^\d{4}-(0?[1-9]|1[0-2])$/;
return pattern.test(dateString);
}
console.log(validateDate('2021-01')); // true
console.log(validateDate('2021-13')); // false
console.log(validateDate('2021-1')); // false
console.log(validateDate('2021-01-01')); // false
```
注意,这个正则表达式只能校验年份和月份,如果需要完整的日期校验,需要使用更复杂的正则表达式或者其他方法。