100分求个日期js代码。第一次写js,不知道怎么写。。

dkcheng2 2008-07-16 10:28:55
小弟初学js,所以请各位高手帮下忙..下面是HTML代码,需求是检查txtTargetMonth文本框里面是不是日期(2008-07-16),如果文本框输入了字母,特殊符号.汉字.或者为空。。在鼠标移开txtTargetMonth控件时候,txtTargetMonth文本框value为当天日期..js代码我要放在1个js文件里给HTML调用..


<TD><asp:textbox id="txtTargetMonth" runat="server" Width="96px" MaxLength="15"></asp:textbox><IMG class="hand" onclick="show_calendar('Form1.txtTargetMonth');" alt="select date(选择日期)"
src="../images/show-calendar.gif" align="absMiddle" border="0"></TD>
...全文
176 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
stone_soup 2008-07-16
  • 打赏
  • 举报
回复
http://www.my97.net/dp/demo/
wapit 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dkcheng2 的回复:]
有日期控件的,但需求就是要这样做啊...如果不用js来做,我倒是会,在文本框鼠标离开事件做个if判断就是了。。
但是整个项目不可能每个页面去写这样一段代码啊.. 唉,没搞过js 痛苦啊..
那位高手不能解决上面那个问题.. 随便搞个写在js文件里的判断代码供HTML页面调用也行啊
[/Quote]

上面代码都给出来了. 照自己意思改改就行了.

我的通用js代码的习惯搞法是写的function里把控件传进去. 然后调用的时候就这样: onclick="funCheck(this);"
varlj 2008-07-16
  • 打赏
  • 举报
回复
要说日历的话,还得My97,那个做得实在有点BT的强
wxwlove007 2008-07-16
  • 打赏
  • 举报
回复
与其校验不如初期你就钉死规格,自己试试吧
脚本说明:
把如下代码加入<body>区域中
<script language="javascript">
function nowtime()
{
var da,ny,nm,nd;
da = new Date();
ny = da.getYear();
nm = da.getMonth();
nd = da.getDate();
document.form1.year2.value = ny;
document.form1.month2.value = nm+1;
document.form1.day2.value = nd;
}
</script>
<form name="form1" method="post" action="#">
<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>
<td height="30">
<select name="year2" >
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
</select>

<select name="month2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>

<select name="day2">
<option value="1">1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
<option value="9" >9</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
<option value="13" >13</option>
<option value="14" >14</option>
<option value="15" >15</option>
<option value="16" >16</option>
<option value="17" >17</option>
<option value="18" >18</option>
<option value="19" >19</option>
<option value="20" >20</option>
<option value="21" >21</option>
<option value="22" >22</option>
<option value="23" >23</option>
<option value="24" >24</option>
<option value="25" >25</option>
<option value="26" >26</option>
<option value="27" >27</option>
<option value="28" >28</option>
<option value="29" >29</option>
<option value="30" >30</option>
<option value="31" >31</option>
</select>

<script language="Javascript">
if (this.form1.month2!="")
{nowtime()}
</script>
       </td>
</tr>

</table>
</form>
lovefootball 2008-07-16
  • 打赏
  • 举报
回复
http://100000.myabc.cn/home/Blog/view/12712.htm
wapit 2008-07-16
  • 打赏
  • 举报
回复
http://regexlib.com/Search.aspx?k=date

正则表达式参考下这里.
dkcheng2 2008-07-16
  • 打赏
  • 举报
回复
有日期控件的,但需求就是要这样做啊...如果不用js来做,我倒是会,在文本框鼠标离开事件做个if判断就是了。。
但是整个项目不可能每个页面去写这样一段代码啊.. 唉,没搞过js 痛苦啊..
那位高手不能解决上面那个问题.. 随便搞个写在js文件里的判断代码供HTML页面调用也行啊
wapit 2008-07-16
  • 打赏
  • 举报
回复
仔细看了下上面贴出来的js代码, 其实很不严密. 比如, 可以输入像2008-02-31等都可以通过.

最好的办法是采用JS的日历控件. 焦点移到文本框上自动弹出, 点击日期选择.

现在手头没有. 我家里电脑上有个很好用的. 网上其实有很多的, 你可以先找下.
  • 打赏
  • 举报
回复
用正则表达式做就可以了,如何用js做正则表达式,网上一手一大把
wapit 2008-07-16
  • 打赏
  • 举报
回复
摘自百度知道: http://zhidao.baidu.com/question/19859673.html
wapit 2008-07-16
  • 打赏
  • 举报
回复
没有办法判断,所以这种方法有他的局限性,你可以加个日期输入控件,让操作者来选择日期就行了,比你这样判断好多了!
-------------------------
下面是用正则表达式来判断日期格式的
然后直接比较
<script language="JavaScript"> 
function checkdate()
{
var datetype=/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
var datetype1=/^[0-9]{4}\/[0-9]{1,2}\/[0-9]{1,2}$/;
if(!(datetype.exec(document.form1.inputdate.value) || datetype1.exec(document.form1.inputdate.value)))
{
alert("对不起,请您按以下格式输入日期:\n2005-5-5或2005/1/1");
form1.inputdate.focus();
return false;
}
return true;
}
</script>
dkcheng2 2008-07-16
  • 打赏
  • 举报
回复
在js文件里。。
form1.txtTargetMonth.value 是不是就HTML里的txtTargetMonth文本框啊。

110,892

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧