正则表达式 - 匹配不包含@的HTML标记

时间:2016-01-29 11:03:18

标签: jquery regex knockout.js

我正在尝试编写一个函数来确定字符串是否包含HTML标记。以下工作正常:

self.containsTags = ko.computed(function() {
  if(/<[a-z][\s\S]*>/i.test(self.response())) {
    return true;
  } else {
    return false;
  }
}, self);

除此之外,它还匹配电子邮件地址,例如。 <test@mail.com></test@mail.com>。我想要它做的是搜索一个字符串,如果它找到一个标签,则返回true,除非它是上面的电子邮件地址 - 然后继续搜索字符串,如果找到实际的HTML标签则返回true,否则返回false没有。

这是我写的内容,但遗憾的是它无法正常工作:

self.containsTags = ko.computed(function() {
  if(/<[a-z][\s\S]((?!@).)*>/i.test(self.response())) {
    return true;
  } else {
    return false;
  }
}, self); 

1 个答案:

答案 0 :(得分:2)

关于正则表达式是什么类似的?

/<[^@<>]+>/i