用正则表达式
document.getElementById("txtCode").value=document.getElementById("txtCode").value.replace(/[.年月日]/g, "-");

解决方案 »

  1.   

    非常感谢    
      能详细点吗 ?最好附有html的   谢谢了
      

  2.   

    大概意思一下
    <script type="text/javascript">
    function aa(obj)
    {
    var value = obj.value.replace(/\D/g, "-");
    if(value.substring(value.length - 1, value.length) == "-")
    value = value.substring(0 , value.length - 1); obj.value = value;
    }
    </script>
    <input id="a" name="a" type="text" onFocus="javascript:aa(this);">
      

  3.   

    给我50分
    以下2个日期格式化方法(下面的代码最好单独放一个js文件)
    一个是字符串转时间,一个是时间转字符串(这个是梅花雪的)使用方法:
    字符串转日期:
    var aa = new Date();
    aa.setFormatDate("2007年2月10日 15:16:20","yyyy年MM月dd日 hh:mm:ss");
    aa.setFormatDate("2007--2--10 15/16/20","yyyy--MM--dd");
    aa.format = "yyyy/MM/dd hh:mm:ss";
    aa.setFormatDate("2007/2/10 15:16:20");
    以上3个是将 "日期字符串" 以 "日期格式" 转换成 日期
    其中日期字符串必须比格式字符串要完整 否则无法转换日期转字符串:
    var aa = new Date();
    aa.Format("yyyy年MM月dd日 hh:mm:ss");
    aa.Format("yyyy-MM-dd");
    ....以后怎么用就不用我说了吧
    //default format
    Date.prototype.format="yyyy-MM-dd hh:mm:ss";
    //used for cache the RegularExpressions
    Date.prototype.Regex={
    "regex1" : /([\$\(\)\*\+\.\[\]\?\\\^\{\}\|])/g ,
    "regex2" : /(y+|M+|d+|m+|h+|s+)/g ,
    "year1" : /^y{1,2}$/ ,
    "year2" : /^y{4}$/ ,
    "month" : /^M{1,2}$/ ,
    "day" : /^d{1,2}$/ ,
    "hour" : /^h{1,2}$/i ,
    "minute" : /^m{1,2}$/ ,
    "second" : /^s{1,2}$/
    }
    //var aa = new Date();
    //aa.setFormatDate("2005-12-30","yyyy-MM-dd");
    //aa.format = "yyyy-MM-dd";
    //aa.setFormatDate("2006-11-11")
    //[extended method] Date.setDate by format string
    //Warning : date string must perfect than format string
    Date.prototype.setFormatDate = function() //author : gzdiablo
    {
    var A = arguments;
    var inputStr = "";
    var sformat = this.format;
    if(A.length==0 && A.length>2){return this;}
    if(A.length==1){inputStr = A[0];}
    if(A.length==2){inputStr = A[0];sformat = A[1];}
    if(sformat == null && inputStr == null)return this;
    var tempint = Date.parse(inputStr);
    if(!isNaN(tempint))this.setTime(tempint);
    var tempregex = new RegExp(sformat.replace(this.Regex["regex1"],"\\$1").replace(this.Regex["regex2"],"(\\d+)"));
    var temparr = sformat.match(this.Regex["regex2"]);
    var temparr2 = inputStr.match(tempregex);
    if(temparr2!=null && temparr!=null)
    {
    if(temparr2.length>1)temparr2.shift();
    for(var i=0;i<temparr.length && temparr2[i]!=null;i++)
    {
    switch(true)
    {
    case this.Regex["year1"].test(temparr[i]):this.setFullYear(temparr2[i]*1 + 2000);break;
    case this.Regex["year2"].test(temparr[i]):this.setFullYear(temparr2[i]*1);break;
    case this.Regex["month"].test(temparr[i]):this.setMonth(temparr2[i]*1-1);break;
    case this.Regex["day"].test(temparr[i]):this.setDate(temparr2[i]*1);break;
    case this.Regex["hour"].test(temparr[i]):this.setHours(temparr2[i]*1);break;
    case this.Regex["minute"].test(temparr[i]):this.setMinutes(temparr2[i]*1);break;
    case this.Regex["second"].test(temparr[i]):this.setSeconds(temparr2[i]*1);break;
    }
    }
    }
    return this;
    }
    //[extended method] Date.toString by format string
    Date.prototype.Format = function(informat) //author: meizz
    {
    var inputStr = "";
    var format = this.format;
    if(informat!=null)format = informat;
    var o = {
    "M+" : this.getMonth()+1,
    "d+" : this.getDate(),  
    "h+" : this.getHours(),
    "H+" : this.getHours(),
    "m+" : this.getMinutes(),
    "s+" : this.getSeconds()
    }
    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o)if(new RegExp("("+ k +")").test(format))
    {
    format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k]:("00"+ o[k]).substr((""+ o[k]).length));
    }
    return format;
    }
      

  4.   

    好人了  给我弄一个带html 完整的代码可以吗?
    我给你加70分
      

  5.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title></title>
    </head><body>
    <p>日期字符串:
      <input type="text" size="30" id="datestr1" value="2006-12-20 5:20:30"> 
    把你需要转换的日期字符串输入在这
    <br />
    格式字符串1:
    <input type="text" size="30" id="formatstr1" value="yyyy-MM-dd hh:mm:ss">
    这里放源日期的格式<br>
    <input type="button" value="转换" onclick="convert()"/>
    <br>
    格式字符串2:
    <input type="text" size="30" id="formatstr2" value="yyyy年MM月dd日 hh:mm:ss" />
    这里放目标日期的格式<br />
    转换后的字符串:
    <input type="text" size="30" id="datestr2" value="" />
    这里是转换后的字符串</p>
    </body>
    </html>
    <script language="javascript">
    var ds1 = document.getElementById("datestr1");
    var fs1 = document.getElementById("formatstr1");
    var ds2 = document.getElementById("datestr2");
    var fs2 = document.getElementById("formatstr2");function convert()
    {
    var datetime = new Date(); //创建一个日期元素
    datetime.setFormatDate(ds1.value,fs1.value);//第一步 先用输入的"字符串"和"格式" 设置日期元素的日期
    ds2.value = datetime.Format(fs2.value);//第二步 再用输入的"目标格式" 将日期元素的日期 转换成新的 字符串
    }
    </script><script language="javascript">
    //default format
    Date.prototype.format="yyyy-MM-dd hh:mm:ss";
    //used for cache the RegularExpressions
    Date.prototype.Regex={
    "regex1" : /([\$\(\)\*\+\.\[\]\?\\\^\{\}\|])/g ,
    "regex2" : /(y+|M+|d+|m+|h+|s+)/g ,
    "year1" : /^y{1,2}$/ ,
    "year2" : /^y{4}$/ ,
    "month" : /^M{1,2}$/ ,
    "day" : /^d{1,2}$/ ,
    "hour" : /^h{1,2}$/i ,
    "minute" : /^m{1,2}$/ ,
    "second" : /^s{1,2}$/
    }
    //var aa = new Date();
    //aa.setFormatDate("2005-12-30","yyyy-MM-dd");
    //aa.format = "yyyy-MM-dd";
    //aa.setFormatDate("2006-11-11")
    //[extended method] Date.setDate by format string
    //Warning : date string must perfect than format string
    Date.prototype.setFormatDate = function() //author : gzdiablo
    {
    var A = arguments;
    var inputStr = "";
    var sformat = this.format;
    if(A.length==0 && A.length>2){return this;}
    if(A.length==1){inputStr = A[0];}
    if(A.length==2){inputStr = A[0];sformat = A[1];}
    if(sformat == null && inputStr == null)return this;
    var tempint = Date.parse(inputStr);
    if(!isNaN(tempint))this.setTime(tempint);
    var tempregex = new RegExp(sformat.replace(this.Regex["regex1"],"\\$1").replace(this.Regex["regex2"],"(\\d+)"));
    var temparr = sformat.match(this.Regex["regex2"]);
    var temparr2 = inputStr.match(tempregex);
    if(temparr2!=null && temparr!=null)
    {
    if(temparr2.length>1)temparr2.shift();
    for(var i=0;i<temparr.length && temparr2[i]!=null;i++)
    {
    switch(true)
    {
    case this.Regex["year1"].test(temparr[i]):this.setFullYear(temparr2[i]*1 + 2000);break;
    case this.Regex["year2"].test(temparr[i]):this.setFullYear(temparr2[i]*1);break;
    case this.Regex["month"].test(temparr[i]):this.setMonth(temparr2[i]*1-1);break;
    case this.Regex["day"].test(temparr[i]):this.setDate(temparr2[i]*1);break;
    case this.Regex["hour"].test(temparr[i]):this.setHours(temparr2[i]*1);break;
    case this.Regex["minute"].test(temparr[i]):this.setMinutes(temparr2[i]*1);break;
    case this.Regex["second"].test(temparr[i]):this.setSeconds(temparr2[i]*1);break;
    }
    }
    }
    return this;
    }
    //[extended method] Date.toString by format string
    Date.prototype.Format = function(informat) //author: meizz
    {
    var inputStr = "";
    var format = this.format;
    if(informat!=null)format = informat;
    var o = {
    "M+" : this.getMonth()+1,
    "d+" : this.getDate(),  
    "h+" : this.getHours(),
    "H+" : this.getHours(),
    "m+" : this.getMinutes(),
    "s+" : this.getSeconds()
    }
    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o)if(new RegExp("("+ k +")").test(format))
    {
    format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k]:("00"+ o[k]).substr((""+ o[k]).length));
    }
    return format;
    }
    </script>
      

  6.   

    其实chuckcoin()的基本上实现了    只是要将原来的覆盖掉      
    而楼上的好像把效果给做错了.
      

  7.   

    <script type="text/javascript">
    var temp = "";
    function aa(obj)
    {
    var value = obj.value.replace(/\D/g, "-");
    if(value.substring(value.length - 1, value.length) == "-")
    value = value.substring(0 , value.length - 1);value = value.replace(temp, "");
    temp = value;
    obj.value = value;
    }
    </script>
    <input id="a" name="a" type="text" onFocus="javascript:aa(this);">
      

  8.   

    onFocus触发这个好象不太稳定,实在不行就把onChange和onBlur都加上,或者onMouseMove也可以考虑...
      

  9.   

    spcy.html   <html><head>
    <script   language="JavaScript">   (这个函数使得网页打开时自动获取当前日期)
      <!--   
      function   initDate(){   
      var   date   =   new   Date();   
      var   curYear=date.getYear();   
      var   curMonth=date.getMonth()+1;   
      var   curDate=date.getDate();   
      var   strDate=curYear   +"-"+   curMonth   +"-"+   curDate;   
      document.getElementById("txtDate1").value=strDate;   
      document.getElementById("txtDate2").value=strDate; 
      }   
      //-->   
      </script>   
    <title>收银流水查询</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body   onload="initDate()"  bgcolor="#E1F1F1" scroll="no"  >  
    <style type="text/css">
    <!--
    input { border: 1px solid #86BAFF;
    }
    textarea { border: 1px solid #86BAFF;}
    -->
    </style>
    <center>  <font face="Arial"><span style="font-size: 15pt; font-weight: 
    700">收银流水查询 </span></font></center>
    <TABLE width="100%" border="0" cellPadding="1" cellSpacing="1" bordercolor="297B66" id="Table1" style="BORDER-TOP:1px dotted; "> 
    <tr><td></td></tr>
    </table>
    <form method="POST"   action="sycx.asp" target="right2"  name="sample">
    <table>
    <tr>
    <td>
      <font face="Arial"><span style="font-size: 9pt; font-weight: 
    700">起始日期: </span>
      </font><input type="text"  name="date1" id="txtDate1"  size="8" 
     onClick="JavaScript:window.open('calendar1.asp?form=sample&field=date1','','directorys=no,toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,width=190,height=150,left=150,top=240' );">
      <img border="0" src="print1.gif" width="24" height="16"></a></td><td>
      <font face="Arial"><span style="font-size: 9pt; font-weight: 
    700">终止日期: </span>
      </font><input  type="text"  name="date2" id="txtDate2"    size="8"
    onClick="JavaScript:window.open('calendar2.asp?form=sample&field=date2','','directorys=no,toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,width=190,height=150,left=400,top=240' );">
      <img border="0" src="print2.gif" width="24" height="16"></a></td><td>  <font face="Arial"><span style="font-size: 9pt; font-weight: 
    700">收银员</span></font></td><td><style>
    .box{border:1px  solid #86BAFF;width:42px;height:19px;clip:rect(0px,81px,18px,0px);overflow:hidden;}
    .box2{bordercolordark:ffffff;bordercolorlight:C8D0D3; solid #86BAFF;width:42px;height:17px;clip:rect(0px,79px,16px,0px);overflow:hidden;}
    select{position:relative;left:-2px;top:-2px;font-size:12px;width:82px;line-height:14px;border:0px;color:#ff0000;}
    </style><div class=box>
    <div class=box2>
    <select name=shyy>
                              <option>赵娜
    </select>
     
    </div>
    </div>
    </td>
    <td> <font face="Arial"><span style="font-size: 9pt; font-weight: 
    700">款台号</span></font></td><td><style>
    .box{border:1px  solid #86BAFF;width:42px;height:19px;clip:rect(0px,81px,18px,0px);overflow:hidden;}
    .box2{bordercolordark:ffffff;bordercolorlight:C8D0D3; solid #86BAFF;width:42px;height:17px;clip:rect(0px,79px,16px,0px);overflow:hidden;}
    select{position:relative;left:-2px;top:-2px;font-size:12px;width:82px;line-height:14px;border:0px;color:#ff0000;}
    </style><div class=box>
    <div class=box2>
    <select name=kth   >
             <option>
             <option>11
             <option>13
             <option>15 
                      
    </select>
    </div>
    </div></td>
    <td>
    <input type="submit" value="查询" name="chazhao"   style="height:   18;   border:   1px   solid   #297B66;   background-color:#E9FFFF"></td></tr></table>
    </form>
    </body>
    </html>
    sycx.asp   
    date1=request.form("date1")    (接收xycy.html的日期)
    date2=request.form("date2")   (下面是转换日期格式的)
    date1=year(date1)&"-"&right("0"&month(date1),2)&"-"&right("0"&day(date1),2)
    date2=year(date2)&"-"&right("0"&month(date2),2)&"-"&right("0"&day(date2),2)
    <%
    if Request.form("shyy") <>""   then
    sql = "SELECT posbillno as lshh,memberno as hyh,billdate as riqi,b.username as shky,c.amount as sshje,c.recv as shouk,changes as zhaol FROM  T_pos_bill_header a,T_user b,T_pos_bill_payment c where a.casherid=b.userid AND a.pbseqid=c.pbseqid and b.username='" & Request.form("shyy") & "'and TO_char(billdate,'YYYY-MM-DD') between  '"&date1&"' and  '"&date2&"'  order by billdate desc"
    %>
      

  10.   

    <script type="text/javascript">
    function aa(obj)
    {
    var value = obj.value.replace(/\D/g, "-");
    if(value.substring(value.length - 1, value.length) == "-")
    value = value.substring(0 , value.length - 1);obj.value = value;
    }
    </script>
    <input id="a" name="a" type="text" onFocus="javascript:aa(this);">
       这种效果是对的    如果是二二零零年十一月二十日  这种格式   又怎么转呢?
    再次请教   谢谢!
      

  11.   

    <script type="text/javascript">
    var temp = "";
    function aa(obj)
    {
    var value = obj.value;
    value = value.replace(/十一/g, "11");
    value = value.replace(/十二/g, "12");
    value = value.replace(/十三/g, "13");
    value = value.replace(/十四/g, "14");
    value = value.replace(/十五/g, "15");
    value = value.replace(/十六/g, "16");
    value = value.replace(/十七/g, "17");
    value = value.replace(/十八/g, "18");
    value = value.replace(/十九/g, "19");
    value = value.replace(/○/g, "0");
    value = value.replace(/零/g, "0");
    value = value.replace(/一/g, "1");
    value = value.replace(/二/g, "2");
    value = value.replace(/三/g, "3");
    value = value.replace(/四/g, "4");
    value = value.replace(/五/g, "5");
    value = value.replace(/六/g, "6");
    value = value.replace(/七/g, "7");
    value = value.replace(/八/g, "8");
    value = value.replace(/九/g, "9");
    value = value.replace(/十/g, "0");
    value = value.replace(/\D/g, "-");
    if(value.substring(value.length - 1, value.length) == "-")
    value = value.substring(0 , value.length - 1);value = value.replace(temp, "");
    temp = value;
    obj.value = value;
    }
    </script>
    <input id="a" name="a" type="text" onFocus="javascript:aa(this);">