2013-01-07 24 views
5

उदाहरण के लिए मेरे पास है पाठ:स्ट्रिंग में कोई छवि टैग है या नहीं, यह जांचने का सबसे आसान तरीका क्या है?

"testestestestt testestestes <img src='image.jpg'>" 

मैं समारोह जो जाँच करता है, तो स्ट्रिंग में img टैग है और वापसी true

+0

सबसे आसान रेगेक्स है, लेकिन यह बहुत मजबूत नहीं होगा। –

उत्तर

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

जब आप इसे div में जोड़ते हैं तो यह छवि को लोड करने का प्रयास करेगा। –

+2

हालांकि यह div में जोड़े जाने पर छवि को लोड करने का प्रयास करेगा, यह एकमात्र ऐसा उत्तर है जो वास्तव में एक स्ट्रिंग "आईएमजी" या उसमें बदलाव की बजाय एक आईएमजी तत्व के अस्तित्व की जांच करता है। – sachleen

1

जाहिर है, एचटीएमएल को पार्स करने के लिए नियमित अभिव्यक्तियों की सिफारिश नहीं की जाती है, हालांकि, जिस तरीके से आप इसका उपयोग कर रहे हैं उसके आधार पर, आप 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> 

एक बार जब आप यह मेल आप आसानी के साथ यह प्रक्रिया कर सकता है यह है कि के लिए एक से थोड़ा अधिक मजबूत रेगुलर एक्सप्रेशन है एक एक्सएमएल या एचटीएमएल पार्सर तब जांचता है कि इसमें src विशेषता आदि है

+0

हम्म यह मेरे हमेशा img टैग के इस प्रकार के लिए अशक्त देता है: '' testestestestestes '' – tomekfranek

+0

बनाओ @regedarek सुनिश्चित करें कि आप की तरह टैग नहीं है इस '' इस '' वहाँ कोई ज़रूरत नहीं एक के लिए यदि आप करते हैं, क्योंकि बंद टैग '' –

संबंधित मुद्दे

 संबंधित मुद्दे