网页上的拼音码生成

    在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

你可能感兴趣的:(网页上的拼音码生成)