javascript实现时间格式的控制以及容错处理

复制以下代码即可看到效果

<style type="text/css">
/*输入错误时,边框的样式*/
    .error_input
    {
     border-color:Red;
     border-style:dashed;
    }
    </style>

<body>
    <form id="form1" runat="server">
    <div>
    
        请输入时间:<asp:TextBox ID="TextBox1" runat="server" οnblur="timeFormatControl(this)"></asp:TextBox></div>
    </form>
</body>
</html>
<script language="JavaScript" type="text/javascript">
String.prototype.trim=function ()       //为String对象添加trim函数
{
 return this.replace(/^(/s*)|(/s*)$/g,"");    //去掉前后空格
}
function timeFormatControl(obj)
{
    var time;
 var strTime = obj.value.trim();
 if (/^([/d]{1,2}([,.;:。][/d]{1,2})?)$/.test(strTime))     //正则表达式进行初步的判断
 {
    
     time = checkTime(strTime);
     //alert("dd")
 }
 else
 {
     obj.className = "error_input";
     return false;
    
 }
 if (time == false)
 {
     obj.className = "error_input";
     return false;
 }
 else
 {
  obj.className = "";
 }
 obj.value = time;
}
//对输入进行二次判断
function checkTime(strTime)
{
 strTime = strTime.split(/[,.;:。]/);    //把“小时”和“分钟”拆分为两部分。strTime[0]和strTime[1]
 
 if(0 < parseFloat(strTime[0]) && parseFloat(strTime[0]) < 24 )
 {
    
     if (strTime[0].length == 1)        //当输入的“小时”,只有一位的时候,则在它的前面添加0
     {
         strTime[0] = "0"+strTime[0];
     }
 }
 else
 {
 
  return false;
 }

 if((0 <=  Number(strTime[1])&& parseFloat(strTime[1])< 60)||strTime[1]== null)
 {
    if (strTime[1] == null)              //当只输入"小时"的时候,给strTime[1]赋00
     {
         strTime[1] = "00";
     }
     if (strTime[1].length == 1)        //当输入的“分钟”只有一位的时候,则在它的前面添加0
     {
         strTime[1] = "0"+strTime[1];
     }
    
 }
 else
 {
 
  return false;
 }

                      
 var time = strTime[0]+":"+strTime[1];     //组合“小时”和“ 分钟”
 return time;
}
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值