textarea上的Javascript正则表达式
在文本区域中,人们可以粘贴文本。这可能会带来许多不需要的属性,如样式属性。我试图创建一个正则表达式,它删除所有这些属性,但保留html标记的原样 我似乎无法让它工作。我从搜索中尝试了几个正则表达式,但它们似乎不适合。 textarea中的所有子元素和所有元素都应该被其所有属性剥离 这个RegExp应该是什么样子 我当前的RegExp位于: 请帮我找到正确的正则表达式 编辑 为了澄清这一点:textarea上的Javascript正则表达式,javascript,regex,strip,Javascript,Regex,Strip,在文本区域中,人们可以粘贴文本。这可能会带来许多不需要的属性,如样式属性。我试图创建一个正则表达式,它删除所有这些属性,但保留html标记的原样 我似乎无法让它工作。我从搜索中尝试了几个正则表达式,但它们似乎不适合。 textarea中的所有子元素和所有元素都应该被其所有属性剥离 这个RegExp应该是什么样子 我当前的RegExp位于: 请帮我找到正确的正则表达式 编辑 为了澄清这一点: <strong style="box-sizing: border-box; color: rgb(
<strong style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: Arial, sans-serif; font-size: 13px; line-height: 13.008000373840332px;"><u style="box-sizing: border-box;">Trade</u></strong>
应替换为:
<strong><ul>Trade</ul></strong>
重要提示:这可能在文本区域中发生多次,因此应全部替换
编辑
另外,用替换所有标记是否明智?这样文本就更短了。用正则表达式解析HTML是一个危险的领域,但如何处理呢
text.replace//g,这看起来像是您可能需要的:
text.replace(/(<\s*\w+)(.*?)>/, '$1>')
这将从一个开始标记中删除属性。这一个有效:
str.replace(/<[^>]*?(\s+[^=]+="[^"]*?")>/g, "");
太好了,这一个很有魅力!但恐怕文本还是太过扩展了。我怎样才能同时剥离所有标签和标签?标记和、和是有效的标记。
str.replace(/<[^>]*?(\s+[^=]+="[^"]*?")>/g, "");