5

たとえば、私はテキストを持っています:

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

img文字列がタグであるかどうかをチェックして返す関数を書きたいtrue

4

4 に答える 4

10

正規表現の使用:

"testestestestt testestestes <img src='image.jpg'>".match(/<img/)
于 2013-01-07T19:50:38.000 に答える
2
var str = "testestestestt testestestes <img src='image.jpg'>";
var hasImg = !!$('<div />').html(str).find('img').length
于 2013-01-07T19:52:27.747 に答える
1

img明らかに、正規表現は HTML の解析にはお勧めできませんが、これを使用する方法によっては、タグに対応する終了タグがあることを確認したい場合があります。これは、そのためのわずかに堅牢な正規表現です。

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属性などがあるかどうかを確認できます。

于 2013-01-07T21:41:01.107 に答える