2013-01-07 6 views

Antwort

8

regex:

"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

Dies wird versuchen, das Bild zu laden, wenn Sie es zum div hinzufügen. –

+2

Obwohl dies versuchen wird, das Bild zu laden, wenn es zum div hinzugefügt wird, ist es die einzige Antwort, die tatsächlich nach der Existenz eines img-Elements sucht und nicht nur nach einer Zeichenkette "img" oder einer Variation davon. – sachleen

1

Offensichtlich Reguläre Ausdrücke werden nicht zum Analysieren von HTML empfohlen, je nachdem, wie Sie dies verwenden, möchten Sie jedoch möglicherweise assu sein rot, dass die img-Tags ein entsprechendes End-Tag haben. Dies ist ein etwas robustere regulärer Ausdruck dafür:

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

Matched Testfälle:

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

Unübertroffene Testfälle:

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

Sobald Sie es passen können Sie diese leicht verarbeiten mit Ein XML- oder HTML-Parser wird dann überprüft, ob er das src-Attribut usw. hat.

+0

Hmm das gibt mir immer null für diese Art von img tags: '' '' testestestestestes tomekfranek

+0

@regedarek Stellen Sie sicher, haben keine Tags wie diese '' denn wenn Sie dies tun '' gibt es keine Notwendigkeit für eine schließendes Tag '' –

Verwandte Themen