JavaScript 搜索问题

2024-01-02

我有一段代码可以在表格中搜索某个短语。一旦找到该短语,它就会将当前单元格的innerHTML 返回到页面顶部附近的div。

我遇到的问题是这样的:

除非要搜索的短语包含任何特殊字符(括号和与号等),否则代码可以完美运行。我尝试修改“Western & Central" to "Western & Central"但不幸的是,代码仍然无法找到该短语。

代码如下:

// Function for searching tables for specific map/device combination.
function findMap(map, device)
{
var flag = false;   // to check if the map has been found yet

// Add <strong> tags to map string so it is easier to search for
var mapstring = "<strong>" + map;
var map_regex = new RegExp( mapstring,'i');

// create array of tables
var tables = document.getElementsByTagName('table');

for (var t = 2; t < tables.length; t++)
{
    // create array of rows
    var tablerows = tables[t].rows;
    for (var r = 2; r < tablerows.length; r++)
    {
        currentRow = tablerows[r];

        // Check if current row contains map name
        if (currentRow.innerHTML.match(map_regex))
        {
            var tablecells = currentRow.cells;
            for (var c = 1; c < tablecells.length; c++)
            {
                currentCell = tablecells[c];
                // Check if current cell contains device name
                if (currentCell.innerHTML.match(device))
                {
                    document.getElementById("boxy2").innerHTML = currentCell.innerHTML;
                    flag = true;
                }
                if (flag == true) return; 
            }
            if (flag == true) return; 

            // search for x20 if 920 was not found etc
            if (device == "910")
                device = "x10";
            else if (device == "920")
                device = "x20";
            else if (device == "930")
                device = "x30";
            else if (device == "940")
                device = "x40";
            else if (device == "950")
                device = "x50";

            // search cells again
            for (var c = 1; c < tablecells.length; c++)
            {
                currentCell = tablecells[c];
                if (currentCell.innerHTML.match(device))
                {
                    document.getElementById("boxy2").innerHTML = currentCell.innerHTML;
                    flag = true;
                }
                if (flag == true) return;
            }
            if (flag == true) return;
        }
        if (flag == true) return; else  { document.getElementById("boxy2").innerHTML="Map not available on this device."; }
    }
}

}

任何有关此事的帮助将不胜感激!


由于您只是想检查特定字符串是否存在,我认为如果您使用,您的解决方案可能会更强大indexOf http://www.w3schools.com/jsref/jsref_IndexOf.asp而不是正则表达式。

使用正则表达式,如果您正在寻找特殊字符,例如[ or ] or ( or )那么你需要逃避它们,这只是我认为你不需要引入的另一层复杂性。

因此,请尝试替换正则表达式用法,例如......

if (currentRow.innerHTML.match(map_regex))

有了这个...

if (currentRow.innerHTML.indexOf(mapString)!=-1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 搜索问题 的相关文章

  • 如何使用 Shopify API 将商品添加到购物车

    我正在使用 Shopify API 开发自定义网络应用程序 这里的想法是使用应用程序作为独家店面 只需向 Shopify API 发出请求 我已在我的 Shopify 帐户中设置了一个私人应用程序来执行此操作 我从 api 提取产品没有问题
  • 如何让 Google Apps 脚本进行 SHA-256 加密?

    我需要使用文本输入 1 轮 十六进制输出 SHA 256 加密来加密字符串 这应该是一个长度为 64 的字符串 我在 Google Apps 脚本文档中尝试过的每个 SHA 256 加密模块都会返回一组数字 例如 function SHA2
  • 少吞咽然后缩小任务

    我必须在 gulp 中执行 2 个步骤 减少 css 文件格式 缩小生成的 css 文件 这是我的吞咽文件 var gulp require gulp watch require gulp watch less require gulp l
  • 非常基本的 JS 编码,是否有 SoundManager2?

    我想在我的网站上包含一个具有以下属性的音频 可能的视频播放器 必须可通过 div 通过 CSS 设计样式 可以读取所有ID3信息 可以从数据库中提取文件 可能是 GoDaddy 的 Easy Database 无闪光 可转移至智能手机等 我
  • 重新排序 Magento JavaScript 包含 (addJs)

    我会保持简单 在我的产品页面上 我需要删除prototype js 文件并将其替换为最新版本的prototype 到目前为止 我已经使用 local xml 成功替换了它
  • 将图像缩略图上传到服务器,而不上传整个图像

    据我所知 我在这里问的是不可能的 但我想无论如何我都会问 以防我遗漏了什么 假设您想让用户上传 JPG 图像 并且这些图像被缩放为较小的图标 并且原始图像始终被丢弃并且不再需要 有没有什么方法可以在大多数现代浏览器中普遍使用 让用户选择硬盘
  • 为什么我的箭头函数有原型属性?

    正如文档中提到的https developer mozilla org en docs Web JavaScript Reference Functions Arrow functions https developer mozilla o
  • 如何更改点击事件上的引导插入符指向方向

    我正在使用 2 3 2 引导程序 因为当我单击菜单按钮时 我可以更改插入符号图标的位置 我需要当我单击图标插入符号向上时 当您单击另一个项目时 插入符号返回到初始状态 这怎么可能 导航代码 div div class container d
  • 将 javascript 放在 header 之外有多糟糕?

    这个问题几乎已经说明了一切 我开始添加一些功能到我的周末项目 http www my clock net 对于我和几个朋友来说 这是一个小应用程序 因为我们是交换生 所以它对我们来说有点有用 但事情是这样的 我在 php 中执行此操作并使用
  • jQuery 中如何判断 JSON 对象是否为空

    我有以下 JSON meta limit 20 next null offset 0 previous null total count 0 objects 我对对象感兴趣 我想知道对象是否为空并显示警报 像这样的东西 success fu
  • 内联执行生成的汇编程序

    我正在阅读以下演示文稿 http wingolog org pub qc 2012 js slides pdf http wingolog org pub qc 2012 js slides pdf其中讨论了 4 10 19 内联 ASM
  • 从对象获取数据 - 我看到数据但无法保存它们

    正如你所看到的 我是新来的 我确实尝试过搜索 但没有找到解决我问题的方法 所以这是我的问题 如果我这样做 console log grid data kendoGrid data 这在控制台中显示如下 所以我明白这一点 有一个数组和一个带有
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • 它们是“相同的”吗?代码大战

    这是完整的问题描述 给定两个数组 a 和 b 编写一个函数 comp a b Clojure 中的 compSame a b 来检查这两个数组是否具有 相同 元素以及相同的重数 这里 相同 意味着 b 中的元素是 a 平方中的元素 无论顺序
  • 上传前如何检查图片的宽度和高度

    对于图片上传 我编写了以下 html 代码
  • 如何使用javascript从特定标签获取HTML文档中的所有textNode?

    如何在不使用xpath或treewalker的情况下从单个数组中的一组特定标签中获取所有textNodes blockquote em h4 h6 p IE不允许您使用xpath和treewalker 请帮助我 如果脚本仅适用于 IE 那就
  • Webpack:如何将 javascript 注入 HTML 而不是单独的 JS 文件

    有没有办法让 webpack 将输出注入 HTML 而不是单独的文件 我不得不使用html webpack inline source plugin https github com DustinJackson html webpack i
  • JavaScript 按名称获取当前作用域中的变量

    所以我有一个变量和该变量名称的字符串 function Factory string var foo bar console log foo is equal to this string 如果变量所在的对象是当前对象 如何从字符串文字中获
  • 在 Map() 的条目上使用 Promise.all

    我正在使用 Map 来表示一些键 值对 let myMap new Map myMap set foo bar myMap set foo2 bar42 对于每个 Map 条目 我执行一个返回 Promise 的函数 所有这些 Promis
  • 调试客户端时使用 Chrome/Firefox

    我正在使用带有 getUserMedia 的相机 但出现了一些需要修复的错误 问题是 Visual Studio 只允许我使用 IE 调试 JavaScript 我的意思是命中断点 而 IE 不支持 getUserMedia 如果您想在 I

随机推荐

  • 向其他活动授予 Uri 权限

    我正在尝试从设备库获取图像 然后在另一个活动中显示它 我的活动中的代码 private void startGallery Intent intent new Intent Intent ACTION GET CONTENT intent
  • 防火墙是否会阻止端口 80 上的非 HTTP 流量?

    谁能确认在端口 80 上使用持久传出 TCP 连接不会被绝大多数消费者防火墙阻止 这是基于 HTTP 在 TCP 上运行这一事实的假设 但当然理论上可以分析数据包 问题是大多数消费者防火墙是否这样做 该功能称为 ALG 应用层网关 这是防火
  • Xcode AX 查找问题 - 仅发生在真实设备上

    尽管此错误令人担忧 但不会使应用程序崩溃 我无法确定为什么会发生这种情况 尽管我发现它只在我打电话时才会发生present picker animated true where picker is a UIImagePickerContro
  • 监听集合添加/更改作为视图的模型属性

    我有一个测量视图 它有一个关联的测量模型 它有两个集合 RepresentationsCollection 和 BeatsCollection 测量视图具有嵌套的子表示视图 每个表示视图都有自己的表示模型 并且所有表示模型共享对测量视图的
  • 多项选择题和答案的 MongoDB 模式设计

    我不擅长 MongoDB 设计 我需要设计数据库方面的帮助 最好的存储结构是什么有答案选择的问题 and 候选人的回答 每位考生将获得一套 12 个问题 如果考生在第一次考试中未通过 则可以再参加 2 次考试 因此 在每次考试中 考生每次都
  • UITabBarController 中奇怪的界面错误 UIScrollView。可以被其他人复制吗?

    我的 UIScrollView 出现了一个奇怪的界面错误 但我不知道如何解决它 我只写了一行代码 如下所示 它是一个空白项目的设置 很容易重现 Setting 我有一个UIScrollView其中包含一个UISegmentedControl
  • Swift 中带有超链接文本的 UITextView

    我有文本字段 我想要一些可点击的文本 以下是我的代码 请查看并感谢 let string Google let linkString NSMutableAttributedString string string linkString ad
  • 使用Mercurial分离三个版本:官方/开发/测试/

    我正在部署一个由几十个文件和文件夹组成的Python模块 我使用 Mercurial 来管理软件变更 我想将同一个模块保留在三个分支中 官方分支 团队使用的 开发分支 这可能不止一个开发分支 和测试分支 不是官方分支的测试 而是一个分支 与
  • 根据其他数据帧 python 中的值有条件地在数据帧中添加一列

    我在 pandas df 有一张桌子 id product 1 count 1 100 10 2 200 20 3 100 30 4 400 40 5 500 50 6 200 60 7 100 70 我在数据框 df2 中还有另一个表 p
  • 转换为 swift 3 后 Tests.swift 文件中没有这样的模块“Firebase”

    将项目转换为 swift 3 后 我在 Test swift 文件中收到此错误 No such module Firebase Command usr bin ditto failed with code 1 这是否意味着我必须更新 fir
  • 无法连接到另一个 Linux 系统上运行的 Docker 服务器

    我在 VirtualBox 的两个 Linux 操作系统上安装了 Docker VirtualBox 安装在我的 MAC OS X 10 11 笔记本电脑上 Linux操作系统版本的详细信息如下 CentOS 7 0服务器充当 Docker
  • 如何使用 d3.js 导入 XML 数据?

    有人可以提供一个如何使用 d3 从 XML 文件导入数据的基本示例吗 我的 XML 文件如下所示
  • 无法读取未定义的属性“pushState”

    我对 React Router 有一个简单的配置 我还有另一个基本上用 包裹的 它有效 但是这个没有 当然我尝试使用不同的实现 就像答案中建议的那样 这个帖子 https stackoverflow com questions 310790
  • 获取标记某个属性的所有属性

    我在那里有类和属性 有些属性可以标记属性 这是我的LocalizedDisplayName继承自DisplayNameAttribute 这是获取类的所有属性的方法 private void FillAttribute Type type
  • 配置自定义数据类型映射以与 System.Data.SqlClient.SqlParameter 一起使用

    我有一个名为CaseInsensitiveString这只是一个包装器 允许我的程序使用字符串而不关心它们的大小写 不过 当它持久化到数据库时 它与常规字符串没有什么不同 所以我希望能够将它与System Data SqlClient Sq
  • 添加索引以加快地理编码器附近的搜索速度

    在我的 Rails 应用程序中 我具有允许查找最接近当前登录用户的用户的功能 我正在为此使用地理编码器 gem 在用户模型中 我的范围如下 scope close to gt user distance where not id user
  • PostgreSQL JDBC 连接在 Android 4.0 上失败

    有谁知道我该怎么做才能使 JDBC 连接在 Android 4 0 上工作 它在 Android 1 6 2 3 上运行良好 我使用 Dave Cramer 的构建 http groups google com group pgandroi
  • 有没有办法观看 WPF 路由事件?

    我想知道是否有一种方法可以监视 WPF 应用程序中引发的所有 RoutedEvent 一种将有关触发到控制台的事件的一些信息写入控制台的方法将非常适合查看正在发生的情况 我找到了另一种方法 我已将其添加到我的用户控件的加载处理程序中 var
  • 列出多个 $query->set 的正确方法

    列出多个 query gt set 的正确方法是什么 我可以拥有多个 query gt set就像下面的 代码 A 或者我应该将它们合二为一 如果是 您将如何将这三者结合起来 query gt set代码 我尝试将它们组合在下面的 代码 B
  • JavaScript 搜索问题

    我有一段代码可以在表格中搜索某个短语 一旦找到该短语 它就会将当前单元格的innerHTML 返回到页面顶部附近的div 我遇到的问题是这样的 除非要搜索的短语包含任何特殊字符 括号和与号等 否则代码可以完美运行 我尝试修改 Western