Не используйте регулярные выражения для анализа [X] HTML.
Вдвойне особенно определенно НИКОГДА не используйте регулярные выражения для анализа [X] HTML в качестве меры безопасности.
Анализатор HTML (или tidier, за которым следует синтаксический анализатор XML) - это единственный работоспособный подход для внесения в белый список.
/ <(. | \ N) *?> / G соответствует всем парам тегов HTML, включая атрибуты в тегах
Количество
<a href=">" onmouseover="attackCode()">
и тысячи других возможностей, как действительных, так и неправильных, но браузер все равно поймет.