array.length永远不等于零并暂停程序

 皇家城市_579 发布于 2023-02-12 16:55

如果字符串没有匹配,则该数组的长度不相等,0并且当没有匹配时,不可能制作if else语句以允许a false.

value是一个单行的多行输入textarea,token在这种情况下是var token = "//num"在另一个函数中定义并传入的.

这是我的检查功能:

function checkValid(value, token)
{
  // Checks to see if value contains the token
  var reg = new RegExp(token, "g");

  var result = value.match(reg);

  if (result.length == 1)
  {
    return true;
  }
  return false;
}

如果输入文本包含多个令牌实例,则会得到一个错误的返回,这就是我想要的,同时令牌的一次出现将返回true.但是,零次出现的令牌将不允许任何响应.在这一点上,我认为程序正在暂停,但当然codepen没有表明这是事实.

1 个回答
  • 如果没有匹配,则match返回null而不是空数组.

    检查result前检查是否存在result.length.

    function checkValid(value, token)
    {
      // Checks to see if value contains the token
      var reg = new RegExp(token, "g");
    
      var result = value.match(reg);
    
      return result && result.length;
    }
    

    2023-02-12 16:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有