中文转化成拼音首写字母

 

   要实现这样一种效果,当我输入名称是中文时,代码名称会自动获取输入中文的首写字母:

    实现思路是这样的:名称输入完毕候,当焦点移出时,代码名称自动获取。这其中引入汉字转拼音开源组件 NPinyin

      下面是我的实现代码:

<div class="bs-example">
                        <div class="control-group">
                            <label class="control-label" for="txtOperaName">
                                名称:</label>
                            <div class="controls">
                            <asp:TextBox ID="txtOperaName" runat="server" placeholder="名称" onBlur="javascript:lostFocus()"></asp:TextBox></div>  </div>

调用LostFocus(),来实现我们的操作,其中用到了Ajax:

<script type="text/javascript">
        functionlostFocus() {
            varpowerName = document.getElementById("<%=txtOperaName.ClientID%>").value;
            //中文直接获取,中文截取其的首写字母
            $.ajax({
                type: "Get",
                url: "../Handler/ChineseEnglishConvert.ashx?powerName="+ powerName,
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                success: function (data) {
                    //把获取到的转化的字符串,赋给代码名称控件
                    $("#txtUniqueId").val("QX_" + data);
                   
                },
                error: function(err) {
                    alert(err);
                }
            });
            }
    </script>


Ajax调用了一般处理程序,来进行中文首字母截取工作,其中要引入Npinyin.dll:

   

   //F:\公司\02.Develop\MobileBusinessOutSite\MobileBusiness\MobileBusiness.PowerCenter.Manage\bin\NPinyin.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NPinyin;
using System.Text;
usingMobileBusiness.Web.Library.Script;
 
namespaceMobileBusiness.PowerCenter.Manage.ChineseConvert
{
    ///<summary>
    /// Summary description for ChineseEnglishConvert
    ///</summary>
    public class ChineseEnglishConvert: IHttpHandler
    {
 
        public void ProcessRequest(HttpContextcontext)
        {
            //通过台获取需要中文字符串和特别是中文
            stringgetString = context.Request["powerName"];
 
            context.Response.ContentType = "text/plain";
            //传过来的是中文需要转化英文,然后去首字母
            Encodinggb2312 = Encoding.GetEncoding("GB2312");
         
            stringconvertStringNew = Pinyin.ConvertEncoding(getString,Encoding.UTF8, gb2312);
            stringconvertStringNew1 = Pinyin.GetInitials(convertStringNew,gb2312);
            //把转化的数据以json的形式传过去。
            stringstrJosn = JSONSerializerExecute.Serialize(convertStringNew1);
            
            context.Response.Write(strJosn);
                
        }
 
        public bool IsReusable
        {
            get
            {
                returnfalse;
            }
        }
    }
}
 

这就是中文转化成拼音首写字母的全过程,大家可以在网上搜一些该软件,下载下来看一些就都明白了。

        小结:这是我来公司之后,实现的第一个小功能,很高兴,呵呵。我知道这仅仅是开始,仅仅的困难的开始,仅仅是成长的开始;但是,我相信,只要自己坚信能行,不徘徊去行动,问题一定可以被解决了。不要忘记自己来公司的初衷:不抛弃,不放弃,勇往直前;自己的任务仍然是学习。还有一个体会就是:要想以后轻松松,红红火火,必须现在勤勤恳恳,多总结多积累。这是我跨年的一篇博客,送走过去,迎接未来,明天会更好!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值