0

我正在使用 javascript 在 HTML 页面中搜索文本。我正在寻找的一件事是包含“en-dash”的 HTML 字符的行——在 HTML 页面中看起来像这样(它是一个项目列表,用一个破折号分隔):

项目一
项目二

项目三

如何在 Javascript 中搜索它?我尝试了以下方法,但不起作用:

itemList.search("–");
itemList.search("–");

4

2 回答 2

1

有一个函数 indexOf。这将返回您搜索的字符(或字符串)的位置,返回 -1 of 不存在。

用法:

var str = "this is a dash - ...";
alert(str.indexOf('-'));
// or
alert(str.indexOf("\u2013")); // EN DASH unicode

如果你不知道如何将 – 转换为 \u2013 你可以使用这个函数

function myUnescape(ampstr) {
  const span = document.createElement('SPAN');
  span.innerHTML = ampstr
  return span.textContent
}

myUnescape('&#8211') -> '-'
escape(myUnescape('&#8211')) -> '%u2013'
于 2012-07-29T16:14:25.590 回答
0

搜索是每个字符串对象都可用的功能。它返回匹配的位置,如果没有找到 -1。

所以 "abc-de".search("-"); 返回 3,因为它位于位置 0123。

http://www.w3schools.com/jsref/jsref_search.asp

于 2012-07-29T16:17:04.597 回答