js判断字符串中是否包含某个字符串 兼容所有浏览器示例
时间: 2023-10-27 22:26:42 浏览: 292
你可以使用以下代码来判断一个字符串是否包含另一个字符串,并兼容所有浏览器:
```javascript
var str = "This is a sample string";
var substr = "sample";
if (str.indexOf(substr) !== -1) {
console.log("字符串中包含指定的子字符串");
} else {
console.log("字符串中不包含指定的子字符串");
}
```
这段代码使用了字符串的 `indexOf()` 方法来查找子字符串在目标字符串中的位置。如果返回值不等于 -1,说明目标字符串中包含了子字符串。否则,目标字符串中不包含子字符串。
这种方法在大多数现代浏览器中都有效。但如果你需要兼容旧版本的浏览器,可以使用下面的代码:
```javascript
var str = "This is a sample string";
var substr = "sample";
if (str.indexOf(substr) >= 0) {
console.log("字符串中包含指定的子字符串");
} else {
console.log("字符串中不包含指定的子字符串");
}
```
这里使用了 `>=` 来判断子字符串是否存在于目标字符串中。如果返回值大于等于 0,则说明目标字符串中包含了子字符串。
希望这个示例能满足你的需求!
相关问题
js判断字符串中是否包含某个字符串 ,并将这些被包含的字符串添加到标签中绑定点击事件兼容所有浏览器示例
你可以使用JavaScript的`indexOf`方法来判断字符串中是否包含某个子字符串。以下是一个示例代码,它将在找到匹配的子字符串时将其添加到一个标签中,并绑定点击事件以兼容所有浏览器:
```javascript
// 获取包含要搜索的字符串的父元素
var parentElement = document.getElementById("parentElement");
// 要搜索的字符串
var searchString = "要搜索的字符串";
// 所有文本节点的集合
var textNodes = [];
// 递归遍历元素的所有子节点,找到文本节点
function findTextNodes(element) {
for (var i = 0; i < element.childNodes.length; i++) {
var node = element.childNodes[i];
if (node.nodeType === Node.TEXT_NODE) {
textNodes.push(node);
} else {
findTextNodes(node);
}
}
}
// 在文本节点中搜索匹配的子字符串
function searchAndHighlight() {
for (var i = 0; i < textNodes.length; i++) {
var node = textNodes[i];
var text = node.textContent;
var index = text.indexOf(searchString);
if (index !== -1) {
var before = text.substring(0, index);
var after = text.substring(index + searchString.length);
// 创建包含匹配子字符串的span元素
var span = document.createElement("span");
span.textContent = searchString;
// 创建包含之前和之后文本的文本节点
var beforeNode = document.createTextNode(before); var afterNode = document.createTextNode(after);
// 替换原来的文本节点
node.parentNode.replaceChild(afterNode, node);
// 插入新的节点
node.parentNode.insertBefore(afterNode, span);
node.parentNode.insertBefore(span, afterNode);
// 绑定点击事件
span.addEventListener("click", function() {
alert("你点击了匹配的字符串:" + this.textContent);
});
}
}
}
// 开始搜索并高亮匹配的字符串
findTextNodes(parentElement);
searchAndHighlight();
```
在上面的代码中,你需要将`"要搜索的字符串"`更改为你想要搜索和高亮显示的子字符串,并将`"parentElement"`更改为你包含这些文本的父元素的ID。这样,代码将遍历父元素中的所有文本节点,搜索匹配的子字符串,并将其添加到一个带有点击事件的`<span>`元素中。
希望这能满足你的需要!如果有任何疑问,请随时提问。
typescript字符串包含某个字符串
在 TypeScript 中,可以使用 `includes()` 方法来判断一个字符串是否包含另一个字符串。该方法返回一个布尔值,表示原字符串是否包含给定的字符串。
以下是使用 `includes()` 方法判断字符串包含某个字符串的示例代码:
```typescript
const str = 'hello world';
const subStr = 'world';
if (str.includes(subStr)) {
console.log(`"${str}" 包含 "${subStr}"`);
} else {
console.log(`"${str}" 不包含 "${subStr}"`);
}
```
输出结果为:
```
"hello world" 包含 "world"
```
需要注意的是,`includes()` 方法是 ES6 中新增的方法,如果需要在较老的浏览器或 Node.js 版本中使用该方法,需要先进行兼容处理。可以使用 polyfill 或者使用第三方库,例如 Lodash。
阅读全文