正規表示式校驗YYYYMMDD日期格式

2021-10-25 01:41:12 字數 1284 閱讀 9588

首先,我們先了解2個概念:

1、合法的日期範圍:

datetime 值型別表示值範圍在公元(**紀元)0001 年 1 月 1 日午夜 12:00:00 到公元 (c.e.) 9999 年 12 月 31 日晚上 11:59:59 之間的日期和時間。

2、平年和閏年

地球繞太陽公轉一周叫做一回歸年,一回歸年長365日5時48分 46秒。因此,公曆規定有平年和閏年,平年一年有365日,比回歸年短0.2422日,四年共短0.9688日,故每四年增加一日,這一年有366日,就 是閏年。但四年增加一日比四個回歸年又多0.0312日,400年後將多3.12日,故在400年中少設3個閏年,也就是在400年中只設97個閏年,這樣公曆年的平均長度與回歸年就相近似了。由此規定:年份是整百數的必須是400的倍數才是閏年,例如2023年、2023年就不是閏年。

驗證yyyy年份:

\d[1-9]|\d[1-9]\d|\d[1-9]\d|[1-9]\d

驗證mmdd月日:

大月(1、3、5、7、8、10、12月,有31天)

(0[13578]|1[02])(0[1-9]|[12]\d|3[01])

小月(4、6、9、11月,有30天)

(0[469]|11)(0[1-9]|[12]\d|30)

平年2月(有28天)

02(0[1-9]|[1]\d|2[0-8])

閏年:能被4整除但不能被100整除的年份

(\d)(0[48]|[2468][048]|[13579][26])

能被400整除的年份

((0[48]|[2468][048]|[3579][26])00)

閏年2月(有29天)

((\d)(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229

最終,驗證yyyymmdd的正規表示式為

((\d[1-9]|\d[1-9]\d|\d[1-9]\d|[1-9]\d)(((0[13578]|1[02])(0[1-9]|[12]\d|3[01]))|((0[469]|11)(0[1-9]|[12]\d|30))|(02(0[1-9]|[1]\d|2[0-8]))))|(((\d)(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)

正規表示式校驗

這兩天在寫專案的js api,要對各種字段進行js校驗。用到了jquery.validator,因為jquery內建的validator方法較少,大多數還要自己手動做校驗,所以用到的正規表示式比較多,這裡整理一下,做個筆記。只能包括英文本母 數字和下劃線 a za z0 9 密碼 大於6位的字母與數...

正規表示式校驗年份

1 首先需要驗證年份,顯然,年份範圍為 0001 9999,匹配yyyy的正規表示式為 0 9 1 9 0 9 1 9 0 9 0 9 1 9 0 9 1 9 0 9 其中 0 9 也可以表示為 d,但 d 不如 0 9 直觀,因此下面我將一直採用 0 9 用正規表示式驗證日期的難點有二 一是大小月...

正規表示式校驗字元

資料校驗在我們開發過程中是乙個很重要的過程,可以過濾很多不合法的資料,避免一些非法資料產生不好的問題。在開發中,最經常使用的就是正規表示式的校驗,以下我們來看一看正規表示式的校驗 舉個例子,關於正數,負數,小數的校驗 test public void test1 public void checkn...