要求选中的文本块要不能有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(""",""); 
  42.         content = content.replace("\"",""); 
  43.         content = content.replace("\"",""); 
  44.         content = content.replace(" ",""); 
  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.     }