Javascript输入汉字自动转换为首字母的拼音码【原创】

操作环境:Visual Studio.Net2005 

操作系统:window vista home premium

IE: IE7   

一个简单且实用的JS中文转换首字母拼音码的函数,代码量少,功能实用,不支持多音字的转换!

<script language="javascript" type="text/javascript">

   function getPYCode(str)
   {
        var result = "";
      
         for(var i=0;i<str.length;i++)
         {
            result += getPY(str.charAt(i).toString());
         }
         document.getElementById("lblResult").innerHTML = result;
   }

  

   function getPY(s)
   {
        if(s !="")  {
            execScript("tmp=asc(/""+s+"/")", "vbscript"); 
            tmp = 65536 + tmp;

            var py = "";
            if(tmp>=45217 && tmp<=45252) {   
                py = "A"
            } else if(tmp>=45253 && tmp<=45760) {
                py = "B"
            } else if(tmp>=45761 && tmp<=46317) {
                py = "C"
            } else if(tmp>=46318 && tmp<=46825) {
                py = "D"
            } else if(tmp>=46826 && tmp<=47009) {
                py = "E"
            } else if(tmp>=47010 && tmp<=47296) {
                py = "F"
            } else if((tmp>=47297 && tmp<=47613) || (tmp == 63193)) {
                py = "G"
            } else if(tmp>=47614 && tmp<=48118) {
                py = "H"
            } else if(tmp>=48119 && tmp<=49061) {
                py = "J"
            } else if(tmp>=49062 && tmp<=49323) {
                py = "K"
            } else if(tmp>=49324 && tmp<=49895) {
                py = "L"
            } else if(tmp>=49896 && tmp<=50370) {
                py = "M"
            } else if(tmp>=50371 && tmp<=50613) {
                py = "N"
            } else if(tmp>=50614 && tmp<=50621) {
                py = "O"
            } else if(tmp>=50622 && tmp<=50905) {
                py = "P"
            } else if(tmp>=50906 && tmp<=51386) {
                py = "Q"
            } else if(tmp>=51387 && tmp<=51445) {
                py = "R"
            } else if(tmp>=51446 && tmp<=52217) {
                py = "S"
            } else if(tmp>=52218 && tmp<=52697) {
                py = "T"
            } else if(tmp>=52698 && tmp<=52979) {
                py = "W"
            } else if(tmp>=52980 && tmp<=53688) {
                py = "X"
            } else if(tmp>=53689 && tmp<=54480) {
                py = "Y"
            } else if(tmp>=54481 && tmp<=62289) {
                py = "Z"
            } else {
                py =s.charAt(0);
            }
            return py;
       }
} 

   </script> 

 

HTML:

 <label id="lblResult"></label>   <input type="text" οnkeydοwn="getPYCode(this.value)" οnkeyup="getPYCode(this.value)" />

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值