如何在JavaScript中仅移除特殊字符且不编码/解码URL与文本
嘿,我来帮你搞定这个乱码移除的问题!那些奇怪的特殊字符应该是编码错误(比如GBK文本被错误解码成UTF-8)导致的乱码,咱们可以用精准的正则表达式来移除它们,同时完全保留正常文本和HTML链接结构。
解决方案1:通用型正则移除(JavaScript)
这个方法会保留所有正常可打印的ASCII字符、标点以及HTML标签的关键结构,移除所有不符合的乱码:
// 获取你的textarea元素 const textarea = document.querySelector('textarea'); // 执行替换操作 textarea.value = textarea.value .replace(/[^\w\s,.<>="'-\/:]/g, '') // 移除非预期字符 .replace(/\s+/g, ' ') // 合并多余空格 .trim(); // 去除首尾空格
解决方案2:针对“锟斤拷”类乱码的精准匹配
如果你的乱码都是这类典型的GBK转UTF-8错误产物,可以直接匹配它们对应的Unicode范围,更精准:
const textarea = document.querySelector('textarea'); textarea.value = textarea.value.replace(/[\u9500-\u9FFF\u6500-\u65FF\uCB00-\uCBFF]/g, '');
最终效果
运行上面任意一段代码后,你的textarea内容就会变成你想要的结果:
Exception Handling, Mysql Prepared Statments, https://github.com/airbrake/phpbrake/blob/master/src/ErrorHandler.php
这个方法不会破坏原有文本的编码,也不会影响链接的结构,完美解决你的问题~
内容的提问来源于stack exchange,提问作者Vivek K
相关产品推荐
相关产品推荐

