javascript-- test() 匹配正则 与 逻辑运算符 “!”

 在使用正则表达式验证“时分秒”的时候遇到了一个问题,因为业务需求,需要提供两个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;
}

相关链接:

w3 JavaScript test() 方法      w3 JavaScript 比较和逻辑运算符    正则表达式匹配日期时间

原文地址:https://www.cnblogs.com/18JG23/p/6098070.html