在线等,马上结贴。
问题描述:用户输入6个数字,转换成时间格式。时间格式为  时:分:秒。
如 输入190650    转换成   19:06:50
注意点:
需要校验输入数字的准确性:不能输入错误时间,比如250980,没有25点的。

解决方案 »

  1.   

    分3个文本框让用户输入一个一个判断值就OKtry{if(parseInt(hour)>23){alert("错误");}}catch(e){alert("错误");}
      

  2.   


    function parseDate(str){
        var reg = /^(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])$/;
        if(!reg.test(str)){
            
            return "格式不正确";
        }
        return str.substring(0,2)+":"+str.substring(2,4)+":"+str.substring(4,6);
    }alert(parseDate("000000"));
    alert(parseDate("232323"));
    alert(parseDate("242323"));
      

  3.   


    var s='250980';
    var reg=/([0-1][0-9]|2[0-4])([0-5][0-9]|60)([0-5][0-9]|60)/gi;
    var d;
    if(reg.test(s)){
        d=s.replace(reg,'$1:$2:$3');
        alert(d);
    }
      

  4.   


    <script>
    var s = "123456"; //此处为用户输入的六位数字
    var h = s.substr(0,2); //将输入的六位数字分为三部分
    var m = s.substr(2,2);
    var se = s.substr(4,2);
    //判断输入的合法性
    if(h<=24 && h>=0 && m<=59 && m>=0 && se<=59 && se>=0){
    var time = h + ":" + m + ":" + se ;
    alert(time);
    }else{
    alert("error Input");
    }
    </script>
    如果仅仅是转换的话这样应该就可以做到了,如果需要更准确的请将需求再说清楚点,谢谢。
      

  5.   

    稍改一下,貌似没有24点……尴尬,吧正则表达式改为reg=/^([0-1]?[0-9]|2[0-3])([0-5]?[0-9]|60)([0-5]?[0-9]|60)$/;