JS中过滤HTML文本脚本片段

简介:

 

 要求选中的文本块要不能有HTML代码字符,同时要满足常见文本的字符,如标点符号、英文标点、键盘上的上档符、中文的其他符号,即常见的查询句子,词语、书名等要可以提供搜索。

 初稿脚本:

 
  1. function getSel() 
  2.       var txt = ''
  3.       var foundIn = ''
  4.       if(window.getSelection) 
  5.       { 
  6.           txt = window.getSelection(); 
  7.           foundIn = 'window.getSelection()'
  8.       }else if(document.getSelection) 
  9.       { 
  10.           txt = document.getSelection(); 
  11.           foundIn = 'document.getSelection()'
  12.       }else if(document.selection) 
  13.       { 
  14.           txt = document.selection.createRange().htmlText; 
  15.           foundIn = 'document.selection.createRange()'
  16.       }else 
  17.           return
  18.      document.getElementById("selectTxt").value = txt; 
  19.          
  20. function specialCharacters(obj){    
  21.       var value = obj.value; 
  22.      // alert('验证前:'+value); 
  23.       var patrn=/^[0-9a-zA-Z\u4e00-\u9fa5+\.+\《》]+$/; 
  24.       if (patrn.test(value)) {       
  25.             return true;       
  26.       } else{      
  27.             alert("选中文字为非纯文本,其中含有特殊字符,请重选。");       
  28.             return false;       
  29.       }   
  30. }  
  31.  
  32. function selectKM(){ 
  33.     getSel(); 
  34.     if(event.button==2){ 
  35.     try
  36.         var content = document.getElementById("selectTxt").value; 
  37.         content = content.replace(/^\n+|\n+$/g,""); 
  38.         content = content.replace(/<\/?.+?>/g,"");  
  39.         content = content.replace(/[\r\n]/g, "");  
  40.         content = content.replace(/\s+/g,""); 
  41.         content = content.replace("&quot;",""); 
  42.         content = content.replace("\"",""); 
  43.         content = content.replace("\"",""); 
  44.         content = content.replace("&nbsp;",""); 
  45.         content = content.replace("^",""); 
  46.         content = content.replace("!=",""); 
  47.         content = content.replace("{",""); 
  48.         content = content.replace(";",""); 
  49.         content = content.replace("?",""); 
  50.         content = content.replace("'",""); 
  51.         content = content.replace("'",""); 
  52.         content = content.replace("\\",""); 
  53.         content = content.replace("/",""); 
  54.         content = content.replace("[]",""); 
  55.         content = content.replace("*",""); 
  56.         content = content.replace("(",""); 
  57.         content = content.replace(")",""); 
  58.         content = content.replace("{}",""); 
  59.         content = content.replace(/%/g,""); 
  60.         content = content.replace("?",""); 
  61.         content = content.replace("$",""); 
  62.         content = content.replace("#",""); 
  63.         content = content.replace("&",""); 
  64.         content = content.replace("@",""); 
  65.         content = content.replace("{",""); 
  66.         content = content.replace("}",""); 
  67.         content = content.replace("|",""); 
  68.         content = content.replace("¥",""); 
  69.         var contentPreVai = content; 
  70.         content = content.replace("——",""); 
  71.         content = content.replace("—",""); 
  72.         content = content.replace(".",""); 
  73.         content = content.replace(",",""); 
  74.         content = content.replace(/。/g,""); 
  75.         content = content.replace(/,/g,""); 
  76.         content = content.replace("!",""); 
  77.         content = content.replace(";",""); 
  78.         content = content.replace("‘",""); 
  79.         content = content.replace("’",""); 
  80.         content = content.replace(/、/g,""); 
  81.         content = content.replace("【",""); 
  82.         content = content.replace("】",""); 
  83.         content = content.replace(":",""); 
  84.         content = content.replace("“",""); 
  85.         content = content.replace("”",""); 
  86.         content = content.replace("《",""); 
  87.         content = content.replace("》",""); 
  88.         content = content.replace("……",""); 
  89.         document.getElementById("selectTxt").value = content; 
  90.         var vail = specialCharacters(document.getElementById("selectTxt")); 
  91.         if(contentPreVai.length>0 && vail == true){ 
  92.         //if(contentPreVai.length>0 ){ 
  93.         //alert(contentPreVai); 
  94.             createMenu(contentPreVai); 
  95.         } 
  96.         return
  97.        }catch(e){} 
  98.     } 

 



     本文转自danni505 51CTO博客,原文链接:http://blog.51cto.com/danni505/1078224,如需转载请自行联系原作者


相关文章
|
11天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
1天前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
19 1
|
6天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
15 3
|
9天前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
19 4
|
8天前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
27 0
html5+three.js公路开车小游戏源码
|
16天前
|
XML JavaScript 前端开发
如何解析一个 HTML 文本
【10月更文挑战第23天】在实际应用中,根据具体的需求和场景,我们可以灵活选择解析方法,并结合其他相关技术来实现高效、准确的 HTML 解析。随着网页技术的不断发展,解析 HTML 文本的方法也在不断更新和完善,
|
17天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
66 6
|
1月前
|
XML 前端开发 JavaScript
前端开发进阶:从HTML到React.js
【10月更文挑战第9天】前端开发进阶:从HTML到React.js
|
1月前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
372 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
1月前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
93 1

热门文章

最新文章