如何检查用户发送消息时标签内是否有空白内容[vue]



我想显示一个警告,当输入错误的标签时警告用户:

,

<b></>=>false
<b>hello</>=>true
<a >link</>=>false
<a https://www.google.com></>=>假
<a https://www.google.com>link</>=比;真正的

这些是我的规则:

const rules = [
[/<right>([^<]*)(</>)?/g],
[/<center>([^<]*)(</>)?/g],
[/<left>([^<]*)(</>)?/g],
[/<a ([^>]*)>([^<]*)</>?/g],
[/<([^>]*)>([^<]*)</>/g],
];

您可以使用(考虑到string是您的文本):

:

!!string.match(/<[^>]*>.+<[^>]*>/)

假:

!!string.match(/<[^>]*><[^>]*>/)

这将适用于你的情况,但如果它是更复杂的东西,你需要使用递归模式(这在JS中是不可用的)-如果你想使用严格的正则表达式。

对于确切的用例——像这样的东西应该可以工作:

const rules = [
[/<right>.+(?<!>)<[^>]*>/g],
[/<center>.+(?<!>)<[^>]*>/g],
[/<left>.+(?<!>)<[^>]*>/g],
[/<as+[^>]*>.+(?<!>)<[^>]*>/g],
[/<[^>]*>.+(?<!>)<[^>]*>/g],
];

最新更新