javascript中的字符串搜索无法找到当前字符串
string search in javascript not able to find the present string
这很有效:
var str ='<input id="a_49519498" type="radio" name="answerswers[10903336]" value="49519498" />cat,dog ';
if(str.search('cat,dog')!=-1)
{
alert("found ");
}
而这不是:
var str ='<input id="a_49519498" type="radio" name="answerswers[10903336]" value="49519498" />Rock (Foreigner, Nickelback, etc...) ';
if(str.search('Rock (Foreigner, Nickelback, etc...)')!=-1)
{
alert("found ");
}
我猜这与中的括号有关
(外国人、尼克贝克等)
为什么JavaScript找不到此字符串?我怎样才能让它工作?
似乎.search
[MDN]将参数转换为正则表达式:
如果传递了非RegExp对象
obj
,则会使用new RegExp(obj)
将其隐式转换为RegExp
。
然后括号被解释为捕获组,而不是字面意义上的。
你似乎不想使用正则表达式,所以你可以只使用.indexOf
[MDN]:
if(str.indexOf('Rock (Foreigner, Nickelback, etc...)') != -1)
您需要在Paradishesion之前添加转义,通常是1个Paradishesis,但在这种情况下,()
创建了一个组,因此我们需要使用''
两个。
''(
'')
str.search('Rock ''(Foreigner, Nickelback, etc...'')')
jsFiddle演示
String.search
搜索正则表达式,而不是字符串文字(请参阅https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/search)。只需转义括号:
str.search('Rock ''(Foreigner, Nickelback, etc...'')'
相关文章:
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- javascript中的字符串搜索无法找到当前字符串
- Javascript中与区域设置无关的字符串搜索
- 使用变量而不是静态字符串搜索数组
- 为什么字符串搜索的参数表现得像Regex
- Javascript:字符串搜索正则表达式,从字符串的末尾开始
- 不区分大小写的字符串搜索不起作用
- jquery移动字符串搜索页面文本
- 基于字符串搜索的简单jquery查找和显示无法使其工作
- javascript兼容chrome、safari和opera的字符串搜索功能
- 为什么字符串搜索对某些字符串有效而对其他字符串无效
- 使用查询字符串搜索 AngularJS 资源
- Javascript RegEx全局字符串搜索下划线字符(_)
- 如何做一个“生”字字符串搜索和替换在JavaScript中,没有REGEX
- 使用JS/jQuery进行字符串搜索/模糊匹配
- JavaScript字符串搜索
- JS字符串搜索问题
- Javascript字符串搜索,字母i上出现双点
- 使用 HTML 输入值中的部分字符串搜索页面内容
- 通过单个字符串搜索Linkedin