驗證時間正規表示式,js 寫 驗證日期正規表示式

時間 2022-07-22 01:05:03

1樓:匿名使用者

能夠1 被4整除。

2 被100整除,同時被400整除。1900不是,2000是。

3 被3200整除,同時被172800整除。3200和6400不是,172800是。

注意1:由於地球公轉速率的不穩定與眾多影響因素,很多年以後(公元4000)屆時此規則是否需要修改仍有疑問。故後面的正規表示式可能從公元2023年起之後不適應,或者更早。

注意2:可能還需要翻翻歷史,因為此規則幾百年以前可能還沒有成型。

範圍公元2023年到公元2023年

^(\d(0[13578]|1[02])31|(0[13-9]|1[0-2])(0[1-9]|[12]\d|30)|(02)(0[1-9]|[1]\d|2[0-8]))|(\d([2468][048]|[13579][26]|0[48])|([0248][048]|[1579][26]|36|6[08])00)0229$

2樓:

也就是4位,2位,2位了。

/^\d\d\d$/

應用:另外如果要驗證年份月份日合不合格。檢查result陣列內的值就ok。

js 寫 驗證日期正規表示式

3樓:匿名使用者

經我使用,滿意答案里長長那一個表示式有誤,比如2013-03-28匹配不通過,下面這個暫時未發現有誤:

/(([09][19]|[09][19][09]|[09][19][09]|[19][09])(((0[13578]|1[02])(0[19]|[12][09]|3[01]))|((0[469]|11)(0[19]|[12][09]|30))|(02(0[19]|[1][09]|2[08]))))|((([09])(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)/

4樓:匿名使用者

如果單純用正則的話,去掉第一個/和最後的/ig簡單的日期格式驗證:

/^([1-2]\d)[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/ig

下面的正則式不僅僅匹配了日期格式,而且對日期的邏輯做了嚴格要求,判斷了大月31天,小月30天,2月28,閏年情況2月29天

/((^((1[8-9]\d)|([2-9]\d))([-\/\._])(10|12|0?[13578])([-\/\.

_])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d)|([2-9]\d))([-\/\._])(11|0?

[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d)|([2-9]\d))([-\/\.

_])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?

[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\.

_])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\.

_])(29)$))/ig

5樓:匿名使用者

\d-\d-\d

j**a 正規表示式驗證日期格式 yyyy-mm-dd,如何寫???

6樓:匿名使用者

我前不久剛好整了這段**,你仔細看一下:

閏年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))

平年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))

上面**驗證的格式是yyyymmdd,看懂了這個,你那個也就清楚了

7樓:傅強愛文英

定義一個string類就行了

php的時間正規表示式

8樓:匿名使用者

最簡單的正則 如 : \d-\d-\d

但是實際情況卻不是那麼簡單,,要考慮,有效性和閏年等問題.....

對於日期的有效範圍,不同的應用場景會有所不同。msdn中定義的datetime物件的有效範圍是:0001-01-01 00:

00:00到9999-12-31 23:59:

59。unix時間戳的0按照iso 8601規範為 :1970-01-01t00:00:00z。

先考慮與年份無關的前三條規則,年份可統一寫作

(?!0000)[0-9]

下面僅考慮月和日的正則

1. 包括平年在內的所有年份的月份都包含1-28日

(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])

2. 包括平年在內的所有年份除2月外都包含29和30日

(0[13-9]|1[0-2])-(29|30)

3. 包括平年在內的所有年份1、3、5、7、8、10、12月都包含31日

(0[13578]|1[02])-31)

合起來就是除閏年的2月29日外的其它所有日期

(?!0000)[0-9]-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)

接下來考慮閏年的實現

1 : 四年一閏

([0-9](0[48]|[2468][048]|[13579][26])

2 : 百年不閏,四百年再閏

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

3 : 合起來就是所有閏年的2月29日

([0-9](0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)

四條規則都已實現,且互相間沒有影響,合起來就是所有符合datetime範圍的日期的正則

^((?!0000)[0-9]-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9](0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$

考慮到這個正規表示式僅僅是用作驗證,所以捕獲組沒有意義,只會佔用資源,影響匹配效率,所以可以使用非捕獲組來進行優化。

^(?:(?!0000)[0-9]-(?:

(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:

0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:

[0-9](?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

9樓:嫑名字可以嗎

1 年部分([12]\d\d\d)

第一位只能是1或者2. 四位年份表達。

2 月部分(0[1-9]|1[0-2])

第一位為0時,第二位可以是1-9,即一月到九月。

第一位為1時,第二位可以是0-2,即十月到十二月。

3 日部分(3[01]|[12]\d|0[1-9])十位為3時,個位只能是0或1.

十位為1或2時,個位無限制。

十位為0時,個位不能為0.

4 時和分部分([0-5]\d)

0~59。

綜上([12]\d\d\d)-(0[1-9]|1[0-2])-(3[01]|[12]\d|0[1-9]) ([0-5]\d):([0-5]\d)

中間分隔符根據需要而改變。

10樓:

月部分(0[1-9]|1[0-2])

日部分(3[01]|[12]\d|0[1-9])時和分部分([0-5]\d)

全部(0[1-9]|1[0-2])-(3[01]|[12]\d|0[1-9]) ([0-5]\d):([0-5]\d)

11樓:力巨集

date("m-d h:i",$time)不要正則了吧

驗證中文正規表示式。

12樓:熱愛影視者

驗證中文

^[\u4e00-\u9fa5]+$

驗證字母

^[a-za-z]+$

驗證數字

^[0-9]+$

^[a-za-z0-9\u4e00-\u9fa5]+$以上正則表示中文,字母,數字組成的字串,不要求三者同時出現var string = 'a23knco234kn'

var ok = /^[a-za-z][a-za-z0-9]*$/.test( string )

alert( ok )

怎麼用正規表示式來驗證日期啊 (yyyy-mm-dd)

13樓:匿名使用者

1>.首先需要驗證年份,顯然,年份範圍為

0001 - 9999,匹配yyyy的正規表示式為:

其中[0-9] 也可以表示為 \d,但 \d 不如 [0-9] 直觀,因此下面我將一直採用

[0-9]

用正規表示式驗證日期的難點有二:一是大小月份的天數不同,二是閏年的考慮。

對於第一個難點,我們首先不考慮閏年,假設2月份都是28天,這樣,月份和日期可以分成三種情況

1、月份為1, 3, 5, 7, 8, 10, 12,天數範圍為 01 - 31,匹配mm-dd的正規表示式為:(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])

2、月份為4, 6, 9, 11,天數範圍為 01-30,匹配mm-dd的正規表示式為:

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

3、月份為2,考慮平年情況,匹配mm-dd的正規表示式為:02-(0[1-9]|[1][0-9]|2[0-8根據上面的成果,我們可以得到匹配平年日期格式為yyyy-mm-dd的正規表示式

([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|[1-9][0-9])-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

接著我們來解決第二個難點:閏年的考慮。根據閏年的定義,我們可以將閏年分為兩類

1、能被4整除但不能被100整除的年份。尋找後兩位的變化規律,可以很快得到下面的正則匹配([0-9])(0[48]|[2468][048]|[13579][26])

2、能被400整除的年份。能被400整除的數肯定能被100整除,因此後兩位肯定是00,我們只要保證前兩位能被4整除即可,相應的正規表示式為:(0[48]|[2468][048]|[3579][26])00

閏年的2月份有29天,因此匹配閏年日期格式為yyyy-mm-dd的正規表示式為(([0-9])(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29最後,將平年和閏年的日期驗證表示式合併,我們得到最終的驗證日期格式為yyyy-mm-dd的正規表示式為:(([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|[1-9][0-9])-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9])(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)

dd/mm/yyyy格式的正則驗證表示式為:(((0[1-9]|[12][0-9]|3[01])/((0[13578]|1[02]))|((0[1-9]|[12][0-9]|30)/(0[469]|11))|(0[1-9]|[1][0-9]|2[0-8])/(02))/([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|[1-9][0-9]))|(29/02/(([0-9])(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00)))

求驗證日期格式的正規表示式,形如 謝謝

19 20 d 0?d 1 012 0?d 12 d 3 01 這個是1900 2099,簡單驗證1 12月,1 31日,對於2月30這樣的不管。如果都驗證,這個正規表示式會很長,你看懂這個自己就會改了。例如 31 0?13578 1 02 29 30 0?1,3 9 1 0 2 1 6 9 2 9...

如何使用正規表示式驗證非空,如何使用正規表示式

reg.regex s s 匹配任何非空白,相當於 f n r t v varreg tperlregex begin reg tperlregex.create nil reg.subject 期待delphi 2008 for win32!reg.regex s reg.replacement ...

高分請教密碼驗證的正規表示式,高分求正規表示式密碼驗證,請看清我的要求。

你的要求不是很詳細,我用js 給你做了一下,可以達到相應要求 我要告訴你的是,完成你的要求不是一個正規表示式能完成的!function validpassword str return flag js驗證密碼的正規表示式。完整的js正規表示式 強 字母 數字 特殊字元。a za z d a za z...