在使用正则表达式验证“时分秒”的时候遇到了一个问题,因为业务需求,需要提供两个input 给用户输入开始时间和结束时间.
js 代码:
var regtime=/^([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/; var add_stime=$("#add_stime").val().trim(); var add_etime=$("#add_etime").val().trim(); if((!regtime.test(add_stime)) && (!regtime.test(add_etime))) { $.messager.alert('提示信息', '时间填写有误', 'error'); return false; }
问题是总有一个 值 验证不了,输入错误也能通过。
问题待解决.................
测试多次后查了一下 “!” 属于逻辑运算符,
运算符 | 描述 | 例子 |
---|
! | not | !(x==y) 为 true |
再查下test() 方法:
test() 方法用于检测一个字符串是否匹配某个模式.
返回值: 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false.
修改代码:
if ( !(regtime.test(allserverbuffadd_stime) && regtime.test(allserverbuffadd_etime)) ) { $.messager.alert('提示信息', '时间填写有误', 'error'); return false; }
相关链接: