JS正規表示式匹配時間和日期

2020-07-16 10:05:04
本節給大家演示一下正規表示式的具體使用,是正規表示式的兩個範例,分別是時間匹配時間和匹配日期。

時間

以 24 小時制為例,時間字串格式如下:

23:59
02:07

模式分析:
  • 共 4 為數位,第 1 位數位可以為 [0-2]。
  • 當第 1 位為“2”時,第 2 位可以為 [0-3]。
  • 第 3 個數位為 [0-5],第 4 位為 [0-9]。

實現程式碼:
var regex = /^([01][0-9][2][0-3]):[0-5][0-9]$/;
console.log(regex.test("23:59"));
console.log(regex.test("02:07"));
如果要求匹配“7:9”格式,也就是說時分前面的“0”可以省略。優化後的程式碼如下:
var regex = /^(0?[0-9]|1[0-9]|[2][0-3]):(0?[0-9]|[1-5][0-9])$/;
console.log(regex.test("23:59"));  //true
console.log(regex.test("02:07"));  //true
console.log(regex.test("7:9"));  //true

日期

常見日期格式:yyyy-mm-dd。例如:2019-09-05。

模式分析:
  • 年:4 位數位即可,可用 [0-9] {4}。
  • 月:共 12個月,分兩種情況:"01""02"..."09" 和 "10""11""12",可用 (0[1-9]1[0-2])。
  • 日:最大 31 天,可用 (0[1-9][12][0-9]3[01])。

實現程式碼:
var regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
console.log(regex.test("2019-09-05"));