插件My97DatePicker日期范围限制的方法,分享给大家供大家参考,具体内容如下
```
下面重点说明日期范围限制:
1)静态限制
你可以给通过配置minDate(最小日期),maxDate(最大日期)为静态日期值,来限定日期的范围 示例1.1:限制日期的范围是 2012-12-1到2012-12-20代码如下:
插件My97DatePicker日期范围限制的方法,分享给大家供大家参考,具体内容如下
```
下面重点说明日期范围限制:
代码如下:
示例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
代码如下:
格式 说明 %y 当前年 %M 当前月 %d 当前日 %ld 本月最后一天 %H 当前时 %m 当前分 %s 当前秒 {} 运算表达式,如:{%d+1}:表示明天
代码如下:
示例2.3:只能选择本月的日期1号至本月最后一天
代码如下:
示例2.4:只能选择今天7:00:00至明天21:00:00的日期
代码如下:
示例2.5:使用了运算表达式 只能选择 20小时前 至 30小时后 的日期
代码如下:
</pre>
</div>
<p><span style="color: #800000"><h3>示例3.2:</h3>前面的日期+3天 不能大于 后面的日期
</p>
<div class="jb51code">
<pre class="brush:js;">
```<input type="text" class="Wdate" id="d4321" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4322\',{d:-3});}'})"/>
```<input type="text" class="Wdate" id="d4322" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4321\',{d:3});}'})"/>
</pre>
</div>
<p><span style="color: #800000"><h3>示例3.3:</h3>前面的日期+3月零2天 不能大于 后面的日期 且 前面日期都不能大于 2020-4-3减去3月零2天 后面日期 不能大于 2020-4-3</p>
<div class="jb51code">
<pre class="brush:js;">
<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})}'})"/>
<input type="text" class="Wdate" id="d4332" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4331\',{M:3,d:2});}',maxDate:'2020-4-3'})"/>
</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">
<pre class="brush:js;">
<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})"/>
</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"><h3>示例4.1:</h3>禁用 周六 所对应的日期</p>
<p><span style="color: #000000"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="19408" class="copybut" id="copybut19408" onclick="doCopy('code19408')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code19408">```<input id="d441" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[6]})"/><span style="color: #000000"><span style="color: #000000"></div>
</p>
<p>禁用 周六 周日 所对应的日期</p>
<p><span style="color: #000000"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="94841" class="copybut" id="copybut94841" onclick="doCopy('code94841')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code94841">```<input id="d442" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[0,6]})"/><span style="color: #000000"><span style="color: #000000"></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"><h3>['2008-02-01','2008-02-29']</h3> 表示禁用 2008-02-01 和 2008-02-29
<span style="color: #800000"><h3>['2008-..-01','2008-02-29'] </h3>表示禁用 2008-所有月份-01 和 2008-02-29
<span style="color: #800000"><h3>['200[0-8]]-02-01','2008-02-29']</h3> 表示禁用 [2000至2008]-02-01 和 2008-02-29
<span style="color: #800000"><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"><h3>['....-..-01','%y-%M-%d'] </h3>表示禁用 所有年份和所有月份的第一天和今天
<span style="color: #800000"><h3>['%y-%M-{%d-1}','%y-%M-{%d+1}']</h3> 表示禁用 昨天和明天
当然,除了可以限制日期以外,您还可以限制时间
<span style="color: #800000"><h3>['....-..-.. 10\:00\:00'] </h3>表示禁用 每天10点 (注意 : 需要 使用 \: )
<h3>示例5.1:</h3>禁用 每个月份的 5日 15日 25日</p>
<div class="jb51code">
<pre class="brush:js;">
```<input id="d451" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['5$']})"/>
//注意 :'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">
<pre class="brush:js;">
```<input id="d452" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:['^19']})"/>
//注意:'^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"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="68542" class="copybut" id="copybut68542" onclick="doCopy('code68542')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code68542">```<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]$']})"/><span style="color: #000000"><span style="color: #000000"></div>
</p>
<p><h3>示例5.4:</h3>min/maxDate disabledDays disabledDates 配合使用 即使在要求非常苛刻的情况下也能满足需求</p>
<p><span style="color: #000000"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="20881" class="copybut" id="copybut20881" onclick="doCopy('code20881')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code20881">```<input id="d454" type="text" class="Wdate" onFocus="WdatePicker({minDate:'%y-%M-01','2[58]$'],disabledDays:[1,3,6]})"/><span style="color: #000000"><span style="color: #000000"></div>
</p>
<p><h3>示例5.5:</h3>禁用前一个小时和后一个小时内所有时间 使用 %y %M %d %H %m %s 等变量</p>
<p><span style="color: #000000"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="63865" class="copybut" id="copybut63865" onclick="doCopy('code63865')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code63865">```<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}\:..\:..']})"/><span style="color: #000000"><span style="color: #000000"></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">
<pre class="brush:js;">
<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()}']})"/>
</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"><h3>示例6.1:</h3>只启用 每个月份的 5日 15日 25日</p>
<div class="jb51code">
<pre class="brush:js;">
```<input id="d46" type="text" class="Wdate" onFocus="WdatePicker({opposite:true,disabledDates:['5$']})"/>
//注意 :'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"><h3>示例7.1:</h3>高亮每周 周一 周五</p>
<p><span style="color: #000000"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="88028" class="copybut" id="copybut88028" onclick="doCopy('code88028')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code88028">```<input id="d471" type="text" class="Wdate" onFocus="WdatePicker({specialDays:[1,5]})"/><span style="color: #000000"><span style="color: #000000"></div></p>
<p><span style="color: #800000"><h3>示例7.2:</h3>高亮每月 1号 15号</p>
<p><span style="color: #000000"><span style="color: #000000"><div class="codetitle"><span><a style="CURSOR: pointer" data="15540" class="copybut" id="copybut15540" onclick="doCopy('code15540')"><U></U></a> <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>如下:</div><div class="codebody" id="code15540">```<input id="d472" type="text" class="Wdate" onFocus="WdatePicker({specialDates:['....-..-01','....-..-15']})"/><span style="color: #000000"><span style="color: #000000"></div></p>
<p>以上就是本文的全部<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>,希望对大家的学习有所帮助。</p>
原文链接:/jquery/50485.html