Ví dụ tôi có văn bản:Cách dễ nhất để kiểm tra xem chuỗi có chứa bất kỳ thẻ hình ảnh nào không?
"testestestestt testestestes <img src='image.jpg'>"
Tôi muốn viết hàm kiểm tra xem trong chuỗi là img
thẻ và trả lại true
Ví dụ tôi có văn bản:Cách dễ nhất để kiểm tra xem chuỗi có chứa bất kỳ thẻ hình ảnh nào không?
"testestestestt testestestes <img src='image.jpg'>"
Tôi muốn viết hàm kiểm tra xem trong chuỗi là img
thẻ và trả lại true
sử dụng regex:
"testestestestt testestestes <img src='image.jpg'>".match(/<img/)
var str = "testestestestt testestestes <img src='image.jpg'>";
var hasImg = !!$('<div />').html(str).find('img').length
Điều này sẽ cố gắng tải hình ảnh khi bạn thêm nó vào div. –
Mặc dù điều này sẽ cố gắng tải hình ảnh khi được thêm vào div, đó là câu trả lời duy nhất thực sự kiểm tra sự tồn tại của một phần tử img thay vì chỉ là một chuỗi "img" hoặc một biến thể của nó. – sachleen
Rõ ràng, các biểu thức chính quy không khuyên bạn nên phân tích cú pháp HTML, tuy nhiên, tùy thuộc vào cách bạn đang sử dụng, bạn có thể muốn được assu màu đỏ rằng các thẻ img
có một thẻ kết thúc tương ứng. Đây là một biểu hiện một chút mạnh mẽ hơn bình thường cho rằng:
if("<img>TestString</img>".match(/<img[^<]*>[\w\d]*<\/img>|<img[^\/]*\/>/i))
{
alert('matched');
}
else
alert('nope');
khớp Test Cases:
- blahsdkfajsldkfj<img blah src=\"\">iImmage123dfasdfsa</img>
- blahsdkfajsldkfj<img>iImmage123dfasdfsa</img>asdfas
- <img src=\"\"></img>
- <img></img>
- <img />
Test Cases khớp:
- <img (other regex would match this)
- <img>
Khi bạn kết hợp nó, bạn có thể dễ dàng xử lý nó với sau đó, trình phân tích cú pháp XML hoặc HTML sẽ kiểm tra xem nó có thuộc tính src
hay không.
Hmm điều này mang lại cho tôi luôn luôn rỗng cho loại thẻ img: '' testestestestestes '' – tomekfranek
@regedarek Hãy chắc chắn rằng bạn không có thẻ như thế này ' 'bởi vì nếu bạn làm điều này' 'không cần thiết cho một thẻ đóng '' –
Dễ nhất là regex, nhưng nó sẽ không thực sự mạnh mẽ. –