正则表达式

一、验证指定格式的十分数据是否是有效格式

         比如9;9.1;9-1;9:1;09:01都表示09:01,符号需用英文输入法,在输入完成后,验证,如果正确,就显示输入的时间的正确标准格式,如果错误,输入框中不显示任何值

         1、html布局

               οnkeyup="this.value=this.value.replace(/[^\d\.\:-]/g,'')" -----input框中只能输入数字和英文状态下的“/”、“.”、“:”

<div id="dv_atime" data_time="clickCalendar" style="display:none;height: 130px;" class="timeDiv"><!-- ,onpicked:_table.draw -->
    <div id="dv_top" style="width: 100%;height:70%;display:flex;justify-content:center;align-items:center;">
        <input type="text" name="minAtime" onblur="isTime(this)" onkeyup="this.value=this.value.replace(/[^\d\.\:-]/g,'')">
         <span style="width:17px;height:23px;margin-left: 10px;margin-right: 10px;">至</span>
         <input type="text" name="maxAtime" onblur="isTime(this)" onkeyup="this.value=this.value.replace(/[^\d\.\:-]/g,'')">
     </div>
     <div id="dv_bottom" style="width: 100%;height:30%;border-top: 1px solid #bbb;bottom: 0px;display:flex;justify-content:center;align-items:center;">
         <a style="margin-right: 30px;" onclick="_table.draw(),cancel('dv_atime')">确定</a>
         <a style="margin-left: 30px;" onclick="cancel('dv_atime')">取消</a>
      </div>
</div>

         2、js

//验证表头下拉框输入的时间是否符合要求的方法
function isTime(obj){
	var regnx = "";
	var time = $(obj).val();
	if(time.indexOf(".") >= 0 || time.indexOf(":") >= 0 || time.indexOf("-") >= 0){
		regnx = '^(([0-9])|(1[0-9])|(2[0-3]))[\.\:-]{1}(([0-9])|([0-5][0-9]))$'
		var str = time.match(regnx);
		if(str != null){//匹配成功
			var inTime = ""
			if(str[1].length == 1){
				inTime = "0"+str[1]+":";
			}else{
				inTime = str[1]+":";
			}
			if(str[5].length == 1){
				inTime += ("0"+str[5]);
			}else{
				inTime += (str[5]);
			}
			$(obj).val(inTime);
		}else{//匹配失败
			$(obj).val("");
		}
	}else{
		regnx = '^(([0-9])|(1[0-9])|(2[0-3]))$';
		var str = time.match(regnx);
		if(str != null){//匹配成功
			if(time.length == 1){
				$(obj).val("0"+str[0]+":00");
			}else{
				$(obj).val(str[0]+":00");
			}
		}else{//匹配失败
			$(obj).val("");
		}
	}
}

           3、页面效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值