JQuery日历插件My97DatePicker日期范围限制

前端之家收集整理的这篇文章主要介绍了JQuery日历插件My97DatePicker日期范围限制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

插件My97DatePicker日期范围限制的方法分享给大家供大家参考,具体内容如下

```

下面重点说明日期范围限制:

1)静态限制

你可以给通过配置minDate(最小日期),maxDate(最大日期)为静态日期值,来限定日期的范围 示例1.1:限制日期的范围是 2012-12-1到2012-12-20

代码如下:

示例1.2:限制日期的范围是 2012-12-4 21:30:00 到 2012-12-4 23:59:30

代码如下:

示例1.3:限制日期的范围是 2012年12月 到 2013年12月

代码如下:

示例1.4:限制时间的范围是 9:00:00 到 18:30:00

代码如下:

2)动态限制

你可以通过系统给出的动态变量,如%y(当前年),%M(当前月)等来限度日期范围,你还可以通过{}进行表达式运算,如:{%d+1}:表示明天

格式 说明 %y 当前年 %M 当前月 %d 当前日 %ld 本月最后一天 %H 当前时 %m 当前分 %s 当前秒 {} 运算表达式,如:{%d+1}:表示明天

F{} {}之间是函数可写自定义JS代码

示例2.1:只能选择今天以前的日期(包括今天)

代码如下:

示例2.2:使用了运算表达式 只能选择今天以后的日期(不包括今天)

代码如下:

示例2.3:只能选择本月的日期1号至本月最后一天

代码如下:

示例2.4:只能选择今天7:00:00至明天21:00:00的日期

代码如下:

示例2.5:使用了运算表达式 只能选择 20小时前 至 30小时后 的日期

代码如下:

3)脚本自定义限制

系统提供了$dp.$D和$dp.$DV这两个API来辅助你进行日期运算,此外你还可以通过在 #F{} 中填入你自定义的脚本,做任何你想做的日期限制 示例3.1: 前面的日期不能大于后面的日期且两个日期都不能大于 2020-10-01 从 到

</pre> </div> <p><span style="color: #800000"&gt;<h3>示例3.2:</h3>前面的日期+3天 不能大于 后面的日期 </p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; ```<input type="text" class="Wdate" id="d4321" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4322\',{d:-3});}'})"/&gt; ```<input type="text" class="Wdate" id="d4322" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4321\',{d:3});}'})"/&gt; </pre> </div> <p><span style="color: #800000"&gt;<h3>示例3.3:</h3>前面的日期+3月零2天 不能大于 后面的日期 且 前面日期都不能大于 2020-4-3减去3月零2天 后面日期 不能大于 2020-4-3</p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; <input type="text" class="Wdate" id="d4331" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4332\',{M:-3,d:-2})||$dp.$DV(\'2020-4-3\',d:-2})}'})"/&gt; <input type="text" class="Wdate" id="d4332" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4331\',{M:3,d:2});}',maxDate:'2020-4-3'})"/&gt; </pre> </div> <p><h3>示例3.4:</h3>发挥你的JS才能,定义任何你想要的日期限制 <a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>转到<a href="https://www.jb51.cc/tag/suiji/" target="_blank" class="keywords">随机</a><a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>的一天,当然,此示例没有实际的用途,只是为演示目的</p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; <script> //返回一个<a href="https://www.jb51.cc/tag/suiji/" target="_blank" class="keywords">随机</a>的日期 function randomDate(){ var Y = 2000 + Math.round(Math.random() * 10); var M = 1 + Math.round(Math.random() * 11); var D = 1 + Math.round(Math.random() * 27); return Y+'-'+M+'-'+D; } </script> <input type="text" class="Wdate" id="d434" onFocus="var date=randomDate();WdatePicker({minDate:date,maxDate:date})"/&gt; </pre> </div> <p><h3>4)无效天限制</h3> 可以使用此<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a>禁用周日至周六所对应的日期,相关<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>:disabledDays (0至6 分别代表周日至周六) <span style="color: #800000"&gt;<h3>示例4.1:</h3>禁用 周六 所对应的日期</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="19408" class="copybut" id="copybut19408" onclick="doCopy('code19408')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code19408"&gt;```<input id="d441" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[6]})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div> </p> <p>禁用 周六 周日 所对应的日期</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="94841" class="copybut" id="copybut94841" onclick="doCopy('code94841')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code94841"&gt;```<input id="d442" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[0,6]})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div> </p> <p><h3>5)无效日期限制 </h3>可以使用此<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a>禁用,所指定的一个或多个日期,只要熟悉正则表达式,可以尽情发挥 <a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a>(正则匹配): 如果你熟悉正则表达式,会很容易理解下面的匹配<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a> 如果不熟悉,可以参考下面的常用示例 <span style="color: #800000"&gt;<h3>['2008-02-01','2008-02-29']</h3> 表示禁用 2008-02-01 和 2008-02-29 <span style="color: #800000"&gt;<h3>['2008-..-01','2008-02-29'] </h3>表示禁用 2008-所有月份-01 和 2008-02-29 <span style="color: #800000"&gt;<h3>['200[0-8]]-02-01','2008-02-29']</h3> 表示禁用 [2000至2008]-02-01 和 2008-02-29 <span style="color: #800000"&gt;<h3>['^2006'] </h3>表示禁用 2006年的所有日期 此外,您还可以使用 %y %M %d %H %m %s 等变量,<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a>同动态日期限制 注意:%ld不能使用 <span style="color: #800000"&gt;<h3>['....-..-01','%y-%M-%d'] </h3>表示禁用 所有年份和所有月份的第一天和今天 <span style="color: #800000"&gt;<h3>['%y-%M-{%d-1}','%y-%M-{%d+1}']</h3> 表示禁用 昨天和明天 当然,除了可以限制日期以外,您还可以限制时间 <span style="color: #800000"&gt;<h3>['....-..-.. 10\:00\:00'] </h3>表示禁用 每天10点 (注意 : 需要 使用 \: ) <h3>示例5.1:</h3>禁用 每个月份的 5日 15日 25日</p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; ```<input id="d451" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['5$']})"/&gt; //注意 :'5$' 表示以 5 结尾 注意 $ 的<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a> </pre> </div> <p><h3>示例5.2:</h3>禁用 所有早于2000-01-01的日期</p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; ```<input id="d452" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['^19']})"/&gt; //注意:'^19' 表示以 19 开头 注意 ^ 的<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a> //当然,可以使用minDate实现类似的<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a> 这里主要是 在演示 ^ 的<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a> </pre> </div> <p><h3>示例5.3:</h3>配合min/maxDate使用,可以把可选择的日期分隔成多段</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="68542" class="copybut" id="copybut68542" onclick="doCopy('code68542')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code68542"&gt;```<input id="d453" type="text" class="Wdate" onFocus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld',disabledDates:['0[4-7]$','1[1-5]$','2[58]$']})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div> </p> <p><h3>示例5.4:</h3>min/maxDate disabledDays disabledDates 配合使用 即使在要求非常苛刻的情况下也能满足需求</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="20881" class="copybut" id="copybut20881" onclick="doCopy('code20881')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code20881"&gt;```<input id="d454" type="text" class="Wdate" onFocus="WdatePicker({minDate:'%y-%M-01','2[58]$'],disabledDays:[1,3,6]})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div> </p> <p><h3>示例5.5:</h3>禁用前一个小时和后一个小时内所有时间 使用 %y %M %d %H %m %s 等变量</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="63865" class="copybut" id="copybut63865" onclick="doCopy('code63865')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code63865"&gt;```<input id="d2a25" type="text" class="Wdate" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',disabledDates:['%y-%M-%d {%H-1}\:..\:..','%y-%M-%d {%H+1}\:..\:..']})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div> </p> <p><h3>示例5.6:</h3> #F{}也是可以使用的 本示例利用<a href="https://www.jb51.cc/tag/zidingyihanshu/" target="_blank" class="keywords">自定义函数</a> <a href="https://www.jb51.cc/tag/suiji/" target="_blank" class="keywords">随机</a>禁用0-23中的任何一个小时 打开小时选择框,你会发现有一个小时被禁用的,而且每次禁用的小时都不同</p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; <script> function randomH(){ //产生一个<a href="https://www.jb51.cc/tag/suiji/" target="_blank" class="keywords">随机</a>的数字 0-23 var H = Math.round(Math.random() * 23); if(H<10) H='0'+H; //返回 '^' + 数字 return '^'+H; } </script> <input type="text" class="Wdate" id="d456" onFocus="WdatePicker({dateFmt:'HH:mm:ss',disabledDates:['#F{randomH()}']})"/&gt; </pre> </div> <p><h3>6)有效日期 </h3>使用无效日期可以很方便的禁用不可用的日期,但是在只需要启用少部分日期的情况下,有效日期的<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a>就非常适合了. 关键<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>: opposite 默认为false,为true时,无效日期变成有效日期,该<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>对无效天,特殊天不起作用 <span style="color: #800000"&gt;<h3>示例6.1:</h3>只启用 每个月份的 5日 15日 25日</p> <div class="jb51code"&gt; <pre class="brush:js;"&gt; ```<input id="d46" type="text" class="Wdate" onFocus="WdatePicker({opposite:true,disabledDates:['5$']})"/&gt; //注意 :'5$' 表示以 5 结尾 注意 $ 的<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a> </pre> </div> <p><h3>7)特殊天和特殊日期 </h3>特殊天和特殊日期的<a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a>跟完全无效天和无效日期完全相同,但是opposite<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>对其无效 关键<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>: specialDays (0至6 分别代表 周日至周六) <a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a>同无效天 specialDates <a href="https://www.jb51.cc/tag/yongfa/" target="_blank" class="keywords">用法</a>同无效日期,但是对时分秒无效 <span style="color: #800000"&gt;<h3>示例7.1:</h3>高亮每周 周一 周五</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="88028" class="copybut" id="copybut88028" onclick="doCopy('code88028')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code88028"&gt;```<input id="d471" type="text" class="Wdate" onFocus="WdatePicker({specialDays:[1,5]})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div></p> <p><span style="color: #800000"&gt;<h3>示例7.2:</h3>高亮每月 1号 15号</p> <p><span style="color: #000000"&gt;<span style="color: #000000"&gt;<div class="codetitle"&gt;<span><a style="CURSOR: pointer" data="15540" class="copybut" id="copybut15540" onclick="doCopy('code15540')"&gt;<U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code15540"&gt;```<input id="d472" type="text" class="Wdate" onFocus="WdatePicker({specialDates:['....-..-01','....-..-15']})"/&gt;<span style="color: #000000"&gt;<span style="color: #000000"&gt;</div></p> <p>以上就是本文的全部<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>,希望对大家的学习有所帮助。</p> 原文链接:https://www.f2er.com/jquery/50485.html

猜你在找的jQuery相关文章