JavaScript:String.search() 无法搜索“[]”或“()”

2023-12-23

如果您尝试搜索诸如“[]" or "()“ 使用search()功能不起作用。

function myFunction() {
    var str = "Visit []W3Schools!"; 
    var n = str.search("[]");
    document.getElementById("demo").innerHTML = n;
}

您可以尝试使用 W3Schools:https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_search https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_search

搜寻中[]回报-1,在搜索时()回报0。总是。

这是为什么?


字符串搜索 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search uses a RegExp https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp,并将其参数转换为 1(如果尚未转换)。[] and ()是 RegExp 的特殊字符。

您可以直接创建正则表达式并转义字符,如下所示:

var n = str.search(/\[\]/);

但如果您正在搜索文字字符串,那么您应该使用String.indexOf https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf反而。

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

JavaScript:String.search() 无法搜索“[]”或“()” 的相关文章

随机推荐