小弟初学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>

解决方案 »

  1.   

    在js文件里。。
    form1.txtTargetMonth.value 是不是就HTML里的txtTargetMonth文本框啊。
      

  2.   

    没有办法判断,所以这种方法有他的局限性,你可以加个日期输入控件,让操作者来选择日期就行了,比你这样判断好多了! 
    ------------------------- 
    下面是用正则表达式来判断日期格式的
    然后直接比较 
    <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>
      

  3.   

    摘自百度知道: http://zhidao.baidu.com/question/19859673.html
      

  4.   

    仔细看了下上面贴出来的js代码, 其实很不严密. 比如, 可以输入像2008-02-31等都可以通过.最好的办法是采用JS的日历控件. 焦点移到文本框上自动弹出, 点击日期选择.现在手头没有. 我家里电脑上有个很好用的. 网上其实有很多的, 你可以先找下.
      

  5.   

    有日期控件的,但需求就是要这样做啊...如果不用js来做,我倒是会,在文本框鼠标离开事件做个if判断就是了。。
    但是整个项目不可能每个页面去写这样一段代码啊.. 唉,没搞过js 痛苦啊..
    那位高手不能解决上面那个问题.. 随便搞个写在js文件里的判断代码供HTML页面调用也行啊
      

  6.   

    http://regexlib.com/Search.aspx?k=date正则表达式参考下这里.
      

  7.   

    http://100000.myabc.cn/home/Blog/view/12712.htm
      

  8.   

    与其校验不如初期你就钉死规格,自己试试吧
    脚本说明:
    把如下代码加入<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>
      

  9.   

    要说日历的话,还得My97,那个做得实在有点BT的强
      

  10.   


    上面代码都给出来了. 照自己意思改改就行了.我的通用js代码的习惯搞法是写的function里把控件传进去. 然后调用的时候就这样: onclick="funCheck(this);"