Summernote 编辑器验证允许一些 html 标签,如 <b>、<i>、<ul>、<li>,但不允许特殊字符
Posted
技术标签:
【中文标题】Summernote 编辑器验证允许一些 html 标签,如 <b>、<i>、<ul>、<li>,但不允许特殊字符【英文标题】:Summernote editor validation for allow some html tags like <b>, <i>, <ul>, <li> but not special characters 【发布时间】:2020-09-15 15:00:26 【问题描述】:我使用了许多模式,但没有找到任何合适的模式来允许带有一些 html 标记和没有 HTML 标记的字符串。
此模式允许 HTML 标记,但不允许使用简单的字符串
<textarea id="description" class="summernote" maxlength="500" data-parsley-pattern="/<(p|span|ul|li|i|u) ?.*>(.*)<\/(p|span|ul|li|i|u)>/"></textarea>
允许的值应该是:1. Adfg gfg gdfsg gvdsfgdsr
-
这是测试说明
测试
dasdasddsad
不应该被允许:>@>$#@$> ./34.3/2.2/34 34 34234 $#%#$$#
请帮帮我
【问题讨论】:
稍微详细说明您的问题,例如应该允许什么和不应该允许什么。 我正在使用summernote文本编辑器,我需要验证我的文本框只允许一些HTML标签,但不允许任何特殊字符,如$@&% 请按已编辑的问题检查 如果它适合你,你能更新一下吗? 它对我不起作用 【参考方案1】:1.) 如果你想允许整个标签(带有属性和文本,属性中允许特殊字符但文本区域中不允许),你可以使用它。
对于所有示例:突出显示的将被匹配
Aenean lacinia bibendum <a href="/life">life</a>
sed consectetur。 <a href="/work">Work</a>
quis risus eget urna mollis ornare <a href="/about">about</a>
leo。 "
/<\s*([a-z]?)[^>]*>([a-zA-Z0-9_]*?)<\s*/\s*([a-z]?)>/g
如果你只想允许标签名你可以使用这个
它将仅匹配标签名称,例如 => <div>
、<a>
、<li>
/<\s*([a-z]*?)[>]*\s*>/g
如果您只想一次接受一个标签:示例 =><div>
使用这个:
/<\s*([a-z]*?)[>]*\s*>/
如果您不想在标签的开头或结尾留出空格,请使用(删除 \s*)
/<([a-z]*?)[>]*>/
如果您只想允许某些特定标签:
/<\s*((p|span|ul|li|i|u)1?)[>]*\s*>/
这将只允许特定的标签和字母数字 + _ 之间,不允许标签中的任何属性:
示例:<a>life klaskdjlaksjd lsdjk</a>
/<\s*((p|span|ul|li|i|u|a)?)*>([a-zA-Z0-9_ ]*?)<\s*/\s*((p|span|ul|li|i|u|a)1?)?>/
【讨论】:
以上是关于Summernote 编辑器验证允许一些 html 标签,如 <b>、<i>、<ul>、<li>,但不允许特殊字符的主要内容,如果未能解决你的问题,请参考以下文章
防止 Summernote html 所见即所得编辑器页面被内容 CSS 更改