var str="20030330";
str=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8);
alert(str);
var str="2003-03-30";
str=str.replace("-","");
str=str.replace("-","");
alert(str);

解决方案 »

  1.   

    <script language="JavaScript">
    <!--
    //** power by fason
    var str="20030330"
    var arr=str.match(/^(\d{4})(\d{2})(\d{2})$/);
    alert(arr.slice(1).join("-"))
    //-->
    </script>
      

  2.   

    <script language="VBS">
    Function taf(e)
    taf = left(e, 4) &"-"& mid(e,5,2) &"-"& right(e, 2)
    End FunctionFunction fat(e)
    fat = replace (e, "-", "")
    End Function
    </script>
    <script language="JavaScript">
    <!--
    var str1 = "20030330"
    var str2 = "2003-03-30" 
    alert(taf(str1));
    alert(fat(str2));
    //-->
    </script>
      

  3.   

    join 方法
    返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。arrayObj.join(separator)参数
    arrayObj必选项。Array 对象。separator必选项。是一个 String 对象,作为最终的 String 对象中对数组元素之间的分隔符。如果省略了这个参数,那么数组元素之间就用一个逗号来分隔。说明
    如果数组中有元素没有定义或者为 null,将其作为空字符串处理。示例
    下面这个例子说明了 join 方法的用法。 function JoinDemo(){
       var a, b;
       a = new Array(0,1,2,3,4);
       b = a.join("-");
       return(b);
    }
    要求
    版本 2
      

  4.   

    slice 方法 (String)
    返回字符串的片段。stringObj.slice(start, [end])参数
    stringObj必选项。是一个 String 对象或文字。 start 必选项。下标以 0 开始的 stringObj 指定部分起始索引。 end 可选项。下标以 0 起始的 stringObj 的指定部分结束索引。说明
    slice 方法返回一个包含 stringObj 的指定部分的 String 对象。 slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。示例
    在下面的示例中,slice 方法的两种用法将返回相同的结果。第二个示例中的 -1 指向 str1 中的最后一个字符,并作为提取操作的结束位置。 str1.slice(0)
    str2.slice(0,-1)
    要求
    版本 3
      

  5.   

    slice 方法 (Array)
    返回一个数组的一段。arrayObj.slice(start, [end]) 参数
    arrayObj必选项。一个 Array 对象。 start 必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。 end 可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。说明
    slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。 slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。示例
    在下面这个例子中,除了最后一个元素之外,myArray 中所有的元素都被复制到 newArray 中: newArray = myArray.slice(0, -1)
    要求
    版本 3
      

  6.   

    回复人: ken1(小林)  发短消息问我, 说找不到, 所以我贴一下。 帮你查查书,没任何骗分的动机,特此说明。
      

  7.   

    <script language="VBS">
    Function taf(e)
    taf = left(e, 4) &"-"& mid(e,5,2) &"-"& right(e, 2)
    End FunctionFunction fat(e)
    fat = replace (e, "-", "")
    End Function
    </script>
    <script language="JavaScript">
    <!--
    var str1 = "20030330"
    var str2 = "2003-03-30" 
    alert(taf(str1));
    alert(fat(str2));
    //-->
    </script>