My97DatePicker日期范圍限制

文章來(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}:表示明天洛波。


動(dòng)態(tài)變量.png

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)提供了dp.D和dp.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{dp.D('date2')||''%y-12-31'}'})"/>
<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{dp.D('date1')}',maxDate:'%y-12-31'})"/>

2) 前面的日期+5天,不能大于后面的日期岳锁。

<input id="date1" type="text" class="Wdate" onFocus="WdatePicker({maxDate:'#F{dp.D('date2',{d:-5});}'})"/>
<input id="date2" type="text" class="Wdate" onFocus="WdatePicker({minDate:'#F{dp.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{dp.D('date2',{M:-2,d:-6})||dp.DV('2020-6-6',{M:-2,d:-6})}'})"/>
<input id="d4332" type="text" class="Wdate" onFocus="WdatePicker({minDate:'#F{dp.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]','1[1-5]','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]','1[1-5]','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']})"/>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市侠姑,隨后出現(xiàn)的幾起案子创橄,更是在濱河造成了極大的恐慌,老刑警劉巖莽红,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妥畏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡安吁,警方通過(guò)查閱死者的電腦和手機(jī)醉蚁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鬼店,“玉大人网棍,你說(shuō)我怎么就攤上這事「局牵” “怎么了滥玷?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵氏身,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我惑畴,道長(zhǎng)蛋欣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任桨菜,我火速辦了婚禮豁状,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘倒得。我一直安慰自己泻红,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布霞掺。 她就那樣靜靜地躺著谊路,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菩彬。 梳的紋絲不亂的頭發(fā)上缠劝,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音骗灶,去河邊找鬼惨恭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛耙旦,可吹牛的內(nèi)容都是我干的脱羡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼免都,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锉罐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绕娘,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤脓规,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后险领,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侨舆,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年绢陌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挨下。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡下面,死狀恐怖复颈,靈堂內(nèi)的尸體忽然破棺而出绩聘,到底是詐尸還是另有隱情沥割,我是刑警寧澤耗啦,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站机杜,受9級(jí)特大地震影響帜讲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椒拗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一似将、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚀苛,春花似錦在验、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至渗蟹,卻和暖如春块饺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雌芽。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工授艰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人世落。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓淮腾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親岛心。 傳聞我的和親對(duì)象是個(gè)殘疾皇子来破,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容