posts - 5, comments - 2, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          網頁上的拼音碼生成

          Posted on 2009-12-04 09:54 Just Do It 閱讀(1783) 評論(0)  編輯  收藏
              在C/S程序中,我們通常會把漢字的拼音簡碼記錄在一個表中,然后編寫一個工具函數來生成一段文字的拼音碼。而在WEB頁面上,文字的簡碼存儲在數據庫表中的極不方便,使用AJAX技術也很繁瑣。那么如果能把文字的簡碼直接存儲在js里,在客戶端實時生成拼音碼就比較方便了。
              在javascript中,我們可以用如下方式生成一個MAP樣的對象:
              var charsCode = {"啊":"A","波":"B",...};
              于是得到某個文字的拼音簡碼就很簡單了:charsCode["啊"]即可。
              顯然,文字的簡碼在數據表中有,我們可以用簡單的sql語句就生成上面定義簡碼MAP的JS代碼,工作量最大的那部分事情就搞定了。
              接下來只需要定義工具函數即可:
          // 獲取每個包括字符的拼音簡碼。
          function getCharsCode(str){
              str 
          = str.toUpperCase();
              
          var len = str.length;
              
          var c, result="", t;
              
          for(i=0; i<len; i++){
                  c 
          = str.substr(i,1);
                  t 
          = mCharsCode[c];
                  
          if (""+== "undefined") t = "";
                  result 
          += t;
              }

              
          return result;
          }


          // 對于英文單詞,僅取首字母
          function getWordsCode(str){
              str 
          = str.toUpperCase();
                  str 
          = str.replace(/([A-Z])[A-Z]*/g, "$1");
              
          var len = str.length;
              
          var c, result="", t;
              
          for(i=0; i<len; i++){
                  c 
          = str.substr(i,1);
                  t 
          = mCharsCode[c];
                  
          if (""+== "undefined") t = "";
                  result 
          += t;
              }

              
          return result;
          }
              那么在WEB頁面中,我們只要引入相應的js文件,就可以方便的調用了,舉例如下:
          <html>
              
          <head>
                  
          <script language="javascript" src="charscode.js"></script>
              
          </head>
              
          <body style="font-size:12px">
                  
          <form>
                      輸入內容:
          <input type="text" onkeyup="pym.innerHTML = getCharsCode(this.value);" /> <br />
                      拼 音 碼:
          <span id="pym"></span>
                  
          </form>
              
          </body>
          </html>
              以下是已經包含6千多漢字及其它字符以及工具函數的js與html文件:
          /Files/justdoit/charcode.rar

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 巴彦淖尔市| 镇原县| 弥勒县| 富锦市| 喀喇| 临西县| 石嘴山市| 永登县| 洛阳市| 稷山县| 汪清县| 新乐市| 封丘县| 蒙城县| 康马县| 客服| 台北县| 集安市| 睢宁县| 吉安县| 中方县| 蒙自县| 泽州县| 和龙市| 三明市| 建阳市| 宁远县| 蒙自县| 纳雍县| 搜索| 泽普县| 墨江| 万山特区| 高碑店市| 泗阳县| 益阳市| 布拖县| 杭州市| 衡东县| 锦州市| 梁河县|