軟件藝術思考者  
          混沌,彷徨,立志,蓄勢...
          公告
          日歷
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          隨筆分類(86)

          隨筆檔案(85)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

          注意:prototype.js是js類庫,'dict.txt'是中文詞典。在我的126/163郵箱和開心網附件里
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
           <HEAD>
            <TITLE> New Document </TITLE>
            <META NAME="Generator" CONTENT="EditPlus">
            <META NAME="Author" CONTENT="">
            <META NAME="Keywords" CONTENT="">
            <META NAME="Description" CONTENT="">
           </HEAD>
          <script language="javascript" src="prototype.js"></script>
          <script language="javascript">
          var dict = "";
          var lastword = "";
          //ajax 裝載字庫
          new Ajax.Request('dict.txt',{onComplete:function(response){dict=response.responseText+"";}});
          var rs = [];
          function divide(text){
              if(text.length==0) return true;
              var word = text.substring(0,1)+"";
              var regExp = /\w/;
              //英文
              if(regExp.test(word)){
                  var tmp = text.replace(/^\s*(\w+)\s*.*$/,"$1");
                 text = text.replace(/^\s*\w+\s*/,"");
                  rs.push(tmp);
                  divide(text);
                  return;
              }
             
              var words = [];
              var end = 0;
              var start = -1;
              while((start = dict.indexOf('\r\n'+word,end))!=-1){
                  end = dict.indexOf('\r\n',start+1);
                  if(start==-1||end==-1) return false;
                  if(start>end) return false;
                  words.push(dict.substr(start,end-start).replace(/(\r\n|\s)/g,""));
              }   
             
              var tmp = "";
              for(j=0;j<words.length;j++){
                  //找到最長的詞,當然也可以將所有詞保留
                  if(text.indexOf(words[j])!=-1&&words[j].length>tmp.length){
                      tmp=words[j];
                  }
              }
              //詞庫不存在的詞
              if(tmp == ""){
                  tmp = word;       
              }
           text=text.replace(tmp,"");
           if(tmp.replace(/\s/g,'')!="")
               rs.push(tmp);
              divide(text);
          }
          function dodivde(){
              var text = $('word').value;
              rs = [];
              divide(text);
              $('dividresult').innerHTML=rs;
          }

          </script>
           <BODY>
          <input type="text" name="word" id="word"  onblur="dodivde();" />

          <input name="do" type="button" value="分詞" onclick="dodivde();" />
          <span id="dividresult"></span>
          </body>
          </html>


          隨滾動條上下滾動
          fdsafdsa
          posted on 2008-10-29 15:23 智者無疆 閱讀(2183) 評論(4)  編輯  收藏 所屬分類: Client teachnolgy research
          評論:
          • # re: JS全文分詞方法[未登錄]  lijun Posted @ 2008-11-04 21:34
            ,您好!

            夜店BUG
            一)從首頁點擊COOL派對 然后點擊上面活動所在的夜店鏈接顯示500
            二)從夜店首頁點擊人氣夜店中的任意一個夜店 顯示500
            三)從特色夜店點擊其中任何一個夜店的LOGO 顯示500
            另外:從夜店首頁進入夜店相冊并不顯示相冊所在夜店

                    致
            禮!  回復  更多評論   

          • # re: JS全文分詞方法  智者無疆 Posted @ 2009-03-20 09:56
            <select name="baoxiao.feeBigType" check="notNull" alertText="費用大類">
            //... </select>

            <input type=text name=baoxiao.receiptNos check="notNull" alertText="發票號"/>
            <textarea name=baoxiao.reson check="notNull" alertText="報銷事由"></textarea>
            <script>
            function checkForm1(formname){
            var elements=document.forms[formname].elements;
            for(var i=0;i<elements.length;i++){
            var checkRequire=elements[i].getAttribute('check');
            var alertText=elements[i].getAttribute('alertText');
            var eType=elements[i].tagname;
            var eValue=eType=="TEXTAREA"?elements[i].innerHTML:elements[i].value;
            if(checkRequire!=undefined){
            switch(checkRequire){
            case "notNull":{
            if (eValue == "" || eValue == null) {
            alert(alertText+"不能為空");
            elements[i].focus();
            return;
            }
            };break;
            case "int":{
            if (eValue == "" || eValue == null) {
            alert(alertText+"不能為空");
            elements[i].focus();
            return;
            }else {
            var pattern = /^[0-9]*$/;
            if (!pattern.test(eValue)){
            alert(alertText+"只能輸入數字");
            elements[i].focus();
            return;
            }
            }
            };break;
            case "money":{
            if (eValue == "" || eValue == null) {
            alert(alertText+"不能為空");
            elements[i].focus();
            return;
            }else {
            var pattern =/^-?[1-9]*(\.\d*)?$|^-?d^(\.\d*)?$/;
            if(!pattern.test(eValue)){
            alert(alertText+"只能輸入浮點型數字");
            elements[i].focus();
            return;
            }
            }
            };break;
            default :alert("不處理");
            }
            }
            }
            return false;
            }
            </script>  回復  更多評論   

          • # re: JS全文分詞方法[未登錄]  long Posted @ 2009-11-18 10:39
            可以將你JS全文分詞的dict.txt發給我么 285843373@qq.com
            我想參考一下 我不知道你的txt格式是怎么寫的
            好心有好報 謝謝  回復  更多評論   

          • # re: JS全文分詞方法[未登錄]  阿飛 Posted @ 2016-03-11 16:58
            撒旦法發   回復  更多評論   

           
          Copyright © 智者無疆 Powered by: 博客園 模板提供:滬江博客


             觀音菩薩贊

          主站蜘蛛池模板: 拉萨市| 滦南县| 林西县| 丰宁| 杭锦旗| 临沭县| 上虞市| 绍兴市| 辽中县| 都兰县| 宜都市| 阳新县| 富裕县| 都匀市| 宝应县| 博野县| 荣昌县| 怀来县| 鹤山市| 彩票| 兖州市| 通道| 五常市| 太康县| 贺州市| 拉孜县| 巴里| 田林县| 聂荣县| 红河县| 南华县| 望谟县| 东兰县| 五华县| 宜州市| 佳木斯市| 灵璧县| 扎赉特旗| 苏尼特左旗| 抚宁县| 双柏县|