特定の文字列があり、それが HTML かどうかを確認したいと考えています。そのために正規表現を使用していますが、適切な結果が得られません。
正規表現を検証しましたが、問題なく動作しますここ。
var htmlRegex = new RegExp("<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)</\1>");
return htmlRegex.test(testString);
ここにフィドルがありますが、正規表現はそこでは実行されません。http://jsfiddle.net/wFWtc/
私のマシンでは、コードは正常に実行されますが、結果として true ではなく false が返されます。何が足りないのでしょうか?
ベストアンサー1
文字列が HTML かどうかを確認するために使用するより適切な正規表現は次のとおりです。
/^/
例えば:
/^/.test('') // true
/^/.test('foo bar baz') //true
/^/.test('<p>fizz buzz</p>') //true
実際、とても美味しいので、また来たいと思いtrue
ます毎文字列が渡されるのは、すべての文字列はHTMLです真面目な話、フォーマットが不適切であったり無効であったりしても、それは HTML です。
単なるテキスト コンテンツではなく、HTML 要素の存在を探している場合は、次のようなものを使用できます。
/<\/?[a-z][\s\S]*>/i.test()
これは HTML の解析にはまったく役立ちませんが、文字列に HTML 要素が含まれていることを確実にフラグ付けします。