輸入漢字,自動(dòng)轉(zhuǎn)成漢語(yǔ)拼音。。。

漢字自動(dòng)轉(zhuǎn)換成拼音:

流程:

  1. 先引入相對(duì)應(yīng)的jar包
<!-- pinyin4j -->
        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>${pinyin4j.version}</version>
        </dependency>
  1. 編寫一個(gè)工具類
public class PinyinUtils {

    // 返回一個(gè)拼音字符串,并且首字母大寫
    public static String getPingYin(String inputString) {
        HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
        format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        format.setVCharType(HanyuPinyinVCharType.WITH_V);
        String output = "";
        if (inputString != null && inputString.length() > 0 && !"null".equals(inputString)) {
            char[] input = inputString.trim().toCharArray();
            try {
                for (int i = 0; i < input.length; i++) {
                    if (Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
                        output += temp[0];
                    } else
                        output += Character.toString(input[i]);
                }
            } catch (BadHanyuPinyinOutputFormatCombination e) {
                e.printStackTrace();
            }
        } else {
            return "*";
        }
        return output;
    }

    public static void main(String[] args) {
        String yin = getPingYin("測(cè)試");
        System.out.println(yin);
    }
}

  1. 在控制器里面寫一個(gè)對(duì)應(yīng)的方法
/**
     * 把用戶名轉(zhuǎn)成拼音
     */
    @RequestMapping("changeChineseToPinyin")
    public Map<String,Object> changeChineseToPinyin(String username){
         Map<String,Object> map=new HashMap<>();
         if(null!=username) {
             map.put("value", PinyinUtils.getPingYin(username));
         }else {
             map.put("value", "");
         }
         return map;
    }
  1. 在前端界面進(jìn)行展示
<div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label">用戶姓名</label>
                <div class="layui-input-inline">
                    <input type="text" name="name" id="username" lay-verify="required" autocomplete="off" placeholder="請(qǐng)輸入用戶姓名" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
               <label class="layui-form-label">登陸名稱</label>
                <div class="layui-input-inline">
                    <input type="text" name="loginname" id="loginname" lay-verify="required"  autocomplete="off" placeholder="請(qǐng)輸入登陸名稱" class="layui-input">
                </div>
            </div>
        </div>

對(duì)應(yīng)的js代碼

//監(jiān)聽用戶名的失去焦點(diǎn)事件
        $("#username").on("blur",function(){
            var username=$(this).val();
            $.get("/user/changeChineseToPinyin",{username:username},function(res){
                $("#loginname").val(res.value);
            })
        });
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容