文章來(lái)源:https://blog.csdn.net/wp1603710463/article/details/50835724
1.動(dòng)態(tài)時(shí)間范圍限制:
可以通過(guò)系統(tǒng)給出的動(dòng)態(tài)變量嘱能,如%y(當(dāng)前年),%M(當(dāng)前月)等來(lái)限制日期范圍橄教,還可以通過(guò){}進(jìn)行表達(dá)式運(yùn)算镣奋,如:{%d+1}:表示明天洛波。
1)只能選擇今天以前的日期(包含今天)带到。
<input type="text" class="Wdate" id="occurDate" onfocus="WdatePicker({skin:'whyGreen',dateFmt: 'yyyy-MM-dd', maxDate:'%y-%M-%d', readOnly:true})" value = "${occurdate}" style="background-color:#e4e4e4;; height:65%; width:100%"></input>
2) 只能選擇今天以后的日期(不包含今天),使用運(yùn)算表達(dá)式遣总。
<input type="text" class="Wdate" id="occurDate" onfocus="WdatePicker({skin:'whyGreen',dateFmt: 'yyyy-MM-dd', minDate:'%y-%M-{%d+1}', readOnly:true})" value = "${occurdate}" style="background-color:#e4e4e4;; height:65%; width:100%"></input>
3) 只能選擇本月日期1號(hào)到本月最后一天的日期宙刘。
<input type="text" class="Wdate" id="occurDate" onfocus="WdatePicker({skin:'whyGreen',dateFmt: 'yyyy-MM-dd', minDate:'%y-%M-01',maxDate:'%y-%M-%ld', readOnly:true})" value = "${occurdate}" style="background-color:#e4e4e4;; height:65%; width:100%"></input>
4) 只能選擇今天8:00:00至明天12:00:00的日期锄贷。
<input id="occurDate" class="Wdate" type="text" onfocus="WdatePicker({dateFmt:'yyyy-M-d H:mm:ss',minDate:'%y-%M-%d 8:00:00',maxDate:'%y-%M-{%d+1} 12:00:00'})"/>
5) 只能選擇10小時(shí)前至50小時(shí)后的日期暗赶。
<input id="occurDate" class="Wdate" type="text" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:'%y-%M-%d {%H-10}:%m:%s',maxDate:'%y-%M-%d {%H+50}:%m:%s'})"/>
2.腳本自定義限制:
系統(tǒng)提供了D和
DV這兩個(gè)API來(lái)輔助進(jìn)行日期運(yùn)算鄙币,此外還可以通過(guò)在 #F{} 中填入自定義的腳本,做任何你想做的日期限制 蹂随。
1) 前面的日期不能大于后面的日期且兩個(gè)日期都不能大于當(dāng)前年的最后一天十嘿。
<input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{
D('date2')||''%y-12-31'}'})"/>
<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{D('date1')}',maxDate:'%y-12-31'})"/>
2) 前面的日期+5天,不能大于后面的日期岳锁。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({maxDate:'#F{
D('date2',{d:-5});}'})"/>
<input id="date2" type="text" class="Wdate" onFocus="WdatePicker({minDate:'#F{D('date1',{d:5});}'})"/>
3) 前面的日期+2月零6天绩衷,不能大于后面的日期且前面日期都不能大于 2020-6-6減去2月零6天,后面日期不能大于2020-6-6激率。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({maxDate:'#F{
D('date2',{M:-2,d:-6})||
DV('2020-6-6',{M:-2,d:-6})}'})"/>
<input id="d4332" type="text" class="Wdate" onFocus="WdatePicker({minDate:'#F{D('date1',{M:2,d:6});}',maxDate:'2020-6-6'})"/>
3.無(wú)效天限制:
1) 可以使用此功能禁用周日至周六所對(duì)應(yīng)的日期咳燕,相關(guān)屬性:disabledDays (0至6 分別代表周日至周六) 。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[6]})"/>
2) 禁用周六乒躺,周日所對(duì)應(yīng)的日期招盲。
<input id="date2" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[0,6]})"/>
4.無(wú)效日期限制:
1)可以使用此功能禁用所指定的一個(gè)或多個(gè)日期,只要熟悉正則表達(dá)式嘉冒。
用法(正則匹配): 如果你熟悉正則表達(dá)式曹货,會(huì)很容易理解下面的匹配用法;如果不熟悉讳推,可以參考下面的常用示例 :
['2010-01-01','2010-02-02'] 表示禁用 2010-01-01 和 2010-02-02顶籽。
['2010-..-01','2010-02-02'] 表示禁用 2010-所有月份-01 和 2010-02-02。
['200[0-9]]-02-01','2010-02-10'] 表示禁用 [2000至2009]-02-01 和 2010-02-10银觅。
['^2010'] 表示禁用 2010年的所有日期礼饱。
此外,還可以使用 %y %M %d %H %m %s 等變量究驴,用法同動(dòng)態(tài)日期限制镊绪。注意:%ld不能使用。
['....-..-01','%y-%M-%d'] 表示禁用所有年份和所有月份的第一天和今天洒忧。
['%y-%M-{%d-1}','%y-%M-{%d+1}'] 表示禁用昨天和明天蝴韭。
當(dāng)然,除了可以限制日期以外,還可以限制時(shí)間:
['....-..-.. 11\:00\:00'] 表示禁用每天11點(diǎn) (注意 : 需要使用 \: ) 跑慕。
2) 禁用每個(gè)月份的5日15日25日。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['5$']})"/>
注意 :'5$' 表示以5結(jié)尾摧找,注意 $ 的用法核行。
3)禁用所有早于2000-01-01的日期。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['^19']})"/>
注意: '^19' 表示以19 開頭蹬耘,注意 ^ 的用法 芝雪。
4)配合min/maxDate使用,可以把可選擇的日期分隔成多段综苔。
<input id="date3" type="text" class="Wdate" onFocus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld',disabledDates:['0[4-7]
','2[58]$']})"/>
5) min/maxDate disabledDays disabledDates 配合使用惩系,即使在要求非澄徊恚苛刻的情況下也能滿足需求。
<input id="date4" type="text" class="Wdate" onFocus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld',disabledDates:['0[4-7]
','2[58]$'],disabledDays:[1,3,6]})"/>
6) 禁用前一個(gè)小時(shí)和后一個(gè)小時(shí)內(nèi)所有時(shí)間堡牡,使用 %y %M %d %H %m %s 等變量抒抬。
<input id="date5" type="text" class="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',disabledDates:['%y-%M-%d {%H-1}:..:..','%y-%M-%d {%H+1}:..:..']})"/>
7) #F{}也是可以使用的,利用自定義函數(shù)隨機(jī)禁用0-23中的任何一個(gè)小時(shí)晤柄,打開小時(shí)選擇框擦剑,發(fā)現(xiàn)有一個(gè)小時(shí)被禁用,而且每次禁用的小時(shí)都不同芥颈。
<script>
function randomH(){
//產(chǎn)生一個(gè)隨機(jī)的數(shù)字 0-23
var H = Math.round(Math.random() * 23);
if(H<10) H='0'+H;
//返回 '^' + 數(shù)字
return '^'+H;
}
</script>
<input type="text" class="Wdate" id="date5" onFocus="WdatePicker({dateFmt:'HH:mm:ss',disabledDates:['#F{randomH()}']})"/>
5.有效日期:
使用無(wú)效日期可以很方便的禁用不可用的日期惠勒,但是在只需要啟用少部分日期的情況下,有效日期的功能就非常適合了爬坑。
關(guān)鍵屬性: opposite 默認(rèn)為false纠屋, 為true時(shí),無(wú)效日期變成有效日期盾计,該屬性對(duì)無(wú)效天售担,特殊天不起作用 。
1) 只啟用每個(gè)月份的 5日 15日 25日闯估。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({opposite:true,disabledDates:['5$']})"/>
6.特殊天和特殊日期:
特殊天和特殊日期的用法跟完全無(wú)效天和無(wú)效日期完全相同灼舍,但是opposite屬性對(duì)其無(wú)效。
關(guān)鍵屬性:
specialDays (0至6 分別代表 周日至周六) 用法同無(wú)效天涨薪。
specialDates 用法同無(wú)效日期骑素,但是對(duì)時(shí)分秒無(wú)效。
1) 高亮每周 周一 周五刚夺。
<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({specialDays:[1,5]})"/>
2) 高亮每月 1號(hào) 15號(hào)献丑。
<input id="date2" type="text" class="Wdate"
onFocus="WdatePicker({specialDates:['....-..-01','....-..-15']})"/>