JavaScript 时间正则表达式282


JavaScript 提供了强大的正则表达式 (Regex) 引擎,可用于匹配和解析字符串。在处理时间数据时,使用正则表达式可以高效地提取和验证日期和时间信息。

时间正则表达式语法

以下是一个基本的时间正则表达式语法:/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/


^ 匹配字符串的开头。
\d{4} 匹配四位数字,表示年份。
\d{2} 匹配两位数字,表示月份、日期、小时、分钟和秒。
- 匹配连字符,分隔日期和时间部分。
: 匹配冒号,分隔小时、分钟和秒。
$ 匹配字符串的结尾。

示例


以下是此正则表达式的示例用例:const time = "2023-03-08 13:25:30";
const match = (/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/);
(match); // ["2023-03-08 13:25:30", "2023", "03", "08", "13", "25", "30"]

此示例将匹配给定的时间字符串,并提取年份、月份、日期、小时、分钟和秒作为单独的组。

时间正则表达式选项

在使用时间正则表达式时,可以指定以下选项:* 全局 (g):使正则表达式匹配字符串中的所有匹配项。
* 忽略大小写 (i):不区分正则表达式和大写。
* 多行 (m):允许正则表达式匹配字符串中的多行。
* 单行 (s):将字符串视为一行文本,忽略换行符。

示例


以下是在使用全局选项匹配所有时间字符串的示例:const text = "2023-03-08 13:25:302023-04-15 15:02:16";
const regex = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/g;
const matches = (regex);
(matches); // ["2023-03-08 13:25:30", "2023-04-15 15:02:16"]

处理特定格式的时间

除了基本语法外,还可以使用正则表达式处理特定格式的时间,例如 ISO 8601 格式:/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:.\d+)?)(Z|[+-][\d:]+)$/


T 匹配分隔日期和时间的字母 "T"。
(?:.\d+)? 指定小数点后的可选小数部分。
Z 匹配时间偏移量,表示 UTC 时间。
[+-][\d:]+ 匹配带正负号的时间偏移量,例如 "+01:00"。

示例


以下是在使用此正则表达式匹配 ISO 8601 时间戳的示例:const timestamp = "2023-03-08T13:25:30Z";
const match = (/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:.\d+)?)(Z|[+-][\d:]+)$/);
(match); // ["2023-03-08T13:25:30Z", "2023", "03", "08", "13", "25", "30"]


掌握 JavaScript 时间正则表达式对于有效地处理和验证时间数据至关重要。通过了解语法、选项和特定格式的处理,开发人员可以使用正则表达式从字符串中提取、验证和格式化日期和时间信息。

2025-02-09


上一篇:URL 解码 JavaScript

下一篇:JavaScript XML 创建指南