如果您尝试搜索诸如“[]
" 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(使用前将#替换为@)