導航:首頁 > 編程語言 > js如何判斷日期的大小寫

js如何判斷日期的大小寫

發布時間:2024-03-09 02:46:39

js 判斷日期yyyy-MM-dd或yyyy-M-d或yyyyMMdd

最簡單的正則 如 : \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)$

❷ JS 如何比較兩個輸入框里輸入的日期大小,並且第一個輸入框里的時間還要和當前的時間比較

<inputtype="text"id="time1"/>
<inputtype="text"id="time2"/>
varnow=newDate().getTime();//當前時間戳
vartime_1=newDate(document.getElementById('time1').value).getTime();//1的時間戳
vartime_2=newDate(document.getElementById('time2').value).getTime();//2的時間戳
//直接進行版時間戳的比較即可權,js的時間戳是從1970年1月1日0時0分0秒到對應時間所經過的毫秒數
//上面3個變數都是number類型,可直接進行比較,加減運算也可

❸ JS 如何比較時間大小

需要准備抄的材料分襲別是:電腦、html編輯器、瀏覽器。

1、首先,打開html編輯器,新建html文件,例如:index.html。

❹ 在js中怎麼區分大小寫

VB的語法是Case InSensitive的,也來s就是說大源a小s寫不j敏感,不k區g分5大x小q寫,end if、 End If沒區r別,只是因為8習m慣的原因一y般都用後者而已z。。 JS的語法是Case Sensitive的,大q小d寫敏感,需要區g分2。 xkcぉ├蕤u_⊕gz瑩pz

❺ js比較兩個日期大小

思路:

先都轉換成日期。然後再用毫秒數進行比較。

下面是簡單內的例子:

functiontab(date1,date2){
varoDate1=newDate(date1);
varoDate2=newDate(date2);
if(oDate1.getTime()>oDate2.getTime()){
console.log('第一個大容');
}else{
console.log('第二個大');
}
}
tab('2015-10-10','2015-10-11');

❻ js 判斷日期 大小

-
<script language="javascript">
var DateTimereg=/^(\d{1,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/
function checkdate(defaultDate){
if((defaultDate!="")){
if (!defaultDate.match(DateTimereg)){
alert("格式不正確!\t\n\n格式為:yyyy-mm-dd hh:mm:ss");
return false;
}
}
return true;
}

function CheckForm(myfor){
var d1=myfor.istime.value;
var d2=myfor.ietime.value;
if (!d1.match(DateTimereg)){
alert("[開始時間]格式不正確!\t\n\n格式為:yyyy-mm-dd hh:mm:ss");
myfor.istime.focus();
return false;
}

if(Date.parse(d1.replace("-","/")) > Date.parse(d2.replace("-","/"))){
alert("開始時間大於結束時間,請檢查!");
return false;
}
return true
}
</script>

❼ js中兩個字元串時間如何判斷大小

最精確的比較方式應該是,知道字元串對應的時間的格式,然後將字元串轉化成date型進行比較。

❽ js 判斷日期格式

functionisDate(dateString){

if(dateString.trim()=="")returntrue;

varr=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);

if(r==null){

alert("請輸入格式正確的日期\n\r日期格式碰慶:yyyy-mm-dd\n\r例  如:2008-08-08\n\r");

returnfalse;

}

vard=newDate(r[1],r[3]-1,r[4]);

varnum = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);

if(num==0){

alert("請輸入格式正確的蠢睜日笑檔握期\n\r日期格式:yyyy-mm-dd\n\r例  如:2008-08-08\n\r");

}

return(num!=0);

}

❾ 如何用js判斷2個日期的大小,格式為:日/月/年,其中月和日前面不加0

簡單一點,
1.將字元串轉化為時間
2.時間做差(差為相差的毫秒數)
3.差大於零,就是前者的時間 > 後者的時間. 反之,就是 <
4.例子
var str0 = '2012/1/3';
var str1 = '2012/1/2';

var date0 = new Date(str0);
var date1 = new Date(str1);
alert(date0 - date1);

閱讀全文

與js如何判斷日期的大小寫相關的資料

熱點內容
使用臨時配置文件登陸什麼意思 瀏覽:597
刪除視頻文件怎麼辦 瀏覽:92
哪吒什麼網站可以 瀏覽:289
網路應用構圖 瀏覽:598
萬步有約查看數據如何看處方 瀏覽:458
福彩3d和值工具下載 瀏覽:433
連接配置文件不運行如何處理 瀏覽:893
ev3編程和python編程哪個好 瀏覽:156
ps中的文件能印刷嗎 瀏覽:880
jsr303spring 瀏覽:755
qq密碼畫蝶 瀏覽:644
液晶電視如何變成網路電視 瀏覽:612
數控程序的編程方式叫什麼 瀏覽:809
postgresql客戶端工具 瀏覽:627
90版本巨宗武器選擇 瀏覽:822
磁碟填0後文件名 瀏覽:261
數控8寸4牙怎麼編程 瀏覽:633
修復一個壞道會損壞多少數據 瀏覽:939
linux時間配置文件 瀏覽:957
批量申請qq號是真的嗎 瀏覽:970

友情鏈接