Вы, вероятно, хотите что-то вроде этого:
var expression = new RegExp("<(BR|SPAN|STRONG|STRIKE|EM|U|FONT) ?[^>]*>", "gi");
... и отмените ваш тест (т. Е. Если этот тест true , то найдены плохие теги)
Решение [^...]
, которое вы пробовали, работает только на символах и его наборах, а не на строках.
Я заканчиваю на [^>]*>
, что означает "любое количество всего, что>
, за которым следует >
", так что вы также будете ловить элементы с атрибутами.
РЕДАКТИРОВАТЬ
Как указал MSalters,кажется, я неправильно понял ваш вопрос.Вы не хотите изменять выражение, а хотите сделать что-то вроде этого
var expression = new RegExp("<(?!BR|SPAN|STRONG|STRIKE|EM|U|FONT) ?[^>]*>", "gi");
Если оно проверяет true , то ваш ввод содержит теги, которых нет в списке выше.