2009-08-22 112 views
0

我已經有了一個項目,我必須確定一個字符串是否包含設置的字符串。 例子: 我在找什麼「website.com」 什麼是可能看起來像「jsngsowebsite.comadfjubj」使用Javascript檢查字符串內容

到目前爲止,我自己endevours已經取得了這一點:

titletxt = document.getElementById('title'); 
titlecheck=titletxt.IndexOf("website.com"); 

if (titlecheck>=0) 
{ 
    return false; 
} 

不似乎在做伎倆,有什麼建議嗎?

回答

1

Javascript函數是區分大小寫 - indexOfIndexOf

4
function text(el) { 
    return el.innerText ? el.innerText : el.textContent; 
} 

function contains(substring, string) { 
    return string.indexOf(substring)>=0 
} 

contains('suggestions', text(document.getElementsByTagName('body')[0])) 

替換 '建議' 和document.getElements ......一個字符串和DOM元素引用。

titlecheck=titletxt.IndexOf("website.com"); 

這看起來就像你試圖用一個DOM元素上的IndexOf(小寫I)這甚至不會有這種方法,該文本是的textContent(標準DOM屬性)或的innerText(內部IE特定屬性)。

+0

包含函數應該> = 0 - 但否則+1用於指出DOM元素的innerText – gnarf 2009-08-22 22:02:53

+0

謝謝 - 滑倒了我的想法,儘管innerText是IE DOM特定的。 – 2009-08-22 22:06:29

0

您也可以使用String.match(...),如果沒有找到匹配

title = document.getElementById('title'); 
titletxt = title.innerText ? title.innerText : title.textContent 
titlecheck = titletxt.match("website.com"); 

if (titlecheck != null) { 
    return false; 
} 

String.match返回null,並返回搜索字符串( 「website.com」)如果比賽發現

1

可以使用indexOf()方法:

標題= 「lalalawebsite.comkkk」;

// indexOf在'title'中找不到字符串'website.com'返回-1 titlecheck = title.indexOf(「website.com」)> 0? 「找到」:「找不到」;

alert(titlecheck);