2013-01-07 45 views

回答

8

使用正則表達式功能:

"testestestestt testestestes <img src='image.jpg'>".match(/<img/) 
2
var str = "testestestestt testestestes <img src='image.jpg'>"; 
var hasImg = !!$('<div />').html(str).find('img').length 
+0

這將嘗試在將圖像添加到div時加載圖像。 –

+2

儘管這會嘗試在添加到div時加載圖像,但它是唯一一個實際檢查img元素是否存在的答案,而不僅僅是一個字符串「img」或其變體。 – sachleen

1

顯然,正則表達式不推薦用於解析HTML,但是,根據您使用的方式,您可能希望成爲assu紅色表示img標籤具有相應的結束標籤。這是一個稍微強大的正則表達式:

if("<img>TestString</img>".match(/<img[^<]*>[\w\d]*<\/img>|<img[^\/]*\/>/i)) 
{ 
    alert('matched'); 
} 
else 
    alert('nope'); 

匹配的測試案例:

- blahsdkfajsldkfj<img blah src=\"\">iImmage123dfasdfsa</img> 
- blahsdkfajsldkfj<img>iImmage123dfasdfsa</img>asdfas 
- <img src=\"\"></img> 
- <img></img> 
- <img /> 

無與倫比的測試案例:

- <img (other regex would match this) 
- <img> 

一旦你匹配它,你可以很容易地處理它然後XML或HTML解析器檢查它是否具有src屬性等。

+0

嗯,這讓我總是空這類的img標籤的:''testestestestestes '' – tomekfranek

+0

@regedarek確保你沒有標籤這樣''因爲如果你這樣做''沒有必要的結束標記'' –

相關問題