don*_*yor 2 html javascript split
我试图在另一个字符串中找到一些字符串部分。我找到了一个调用的函数search()并尝试了这个:
if("http://www.google.de".search("http://") > 0){
alert('with http');
} else {
alert('no http');
}
Run Code Online (Sandbox Code Playgroud)
但它给了我no http即使它有http://一部分。这是小提琴:http :
//jsfiddle.net/xXTuY/2/
你能帮帮我吗?
首先,String#search需要一个正则表达式,而不是一个字符串。如果遇到非正则表达式,它会尝试通过 将其转换为正则表达式new RegExp(patt)。在字符串的情况下,它将字符串视为正则表达式模式。这意味着如果搜索字符串包含在正则表达式中具有特殊含义的字符,您的搜索将出现意外行为(匹配超过预期,匹配少于预期,甚至抛出语法错误,如果字符串不是有效的正则表达式)。使用indexOf来代替。
其次,search和indexOf返回第一个匹配的位置,或-1,如果没有发现匹配。这意味着如果返回值小于零,则什么也没有找到。如果返回值为零,则匹配在字符串的开头进行。
另请注意,有一个方便的快捷方式x != -1:按位否定~x
if("http://www.google.de".indexOf("http://") > -1){
alert('with http');
} else {
alert('no http');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7421 次 |
| 最近记录: |