js實現中文轉拼音

2022-08-25 15:54:26 字數 2209 閱讀 3140

首先需要注意es6在嚴格模式下中常量太長會出問題,char_dict、full_dict、polyphone都是很大的常量,所以我都外部載入了,否則編譯執行會有問題,先貼**,常量在最後,如下:

js原始碼:

(function

();

var options =;

pinyin.fn = pinyin.prototype =,

initialize:

function

(ops),

//提取拼音, 返回首字母大寫形式

getfullchars: function

(str)

else}}

return

result;

},//提取首字母,返回大寫形式

getcamelchars: function

(str)

//處理arrresult,返回所有可能的拼音首字母串陣列

return

this

._getresult(chars);

},//提取拼音

_getfullchar: function

(str)

}return

false

; },

//首字母大寫

_capitalize: function

(str)

},_getchar:

function

(ch),

_getresult:

function

(chars)

}else

//把複製並修改後的陣列連線到arrrslt上

result =result.concat(swap2);}}

}return

result;}};

var extend = function

(dst, src)

return

dst;

};})();

es6寫法:

export class pinyin;

this.options = this.extend(this

.options, ops);

this.char_dict =char_dict;

this.full_dict =full_dict;

this.polyphone =polyphone;

}//提取拼音, 返回首字母大寫形式

getfullchars(str)

else}}

return

result;

}//提取首字母,返回大寫形式

getcamelchars(str)

//處理arrresult,返回所有可能的拼音首字母串陣列

return

this

._getresult(chars);

}//提取拼音

_getfullchar(str)

}return

false

; }

//首字母大寫

_capitalize(str)

}_getchar(ch)

//檢查是否是多音字,是按多音字處理,不是就直接在strchinesefirstpy字串中找對應的首字母

if(!this

.options.checkpolyphone)

return

this.polyphone[unicode] ? this.polyphone[unicode] : this.char_dict.charat(unicode-19968);

}_getresult(chars)

}else

//把複製並修改後的陣列連線到arrrslt上

result =result.concat(swap2);}}

}return

result;

}extend(dst, src)

return

dst;

}}

用法:new pinyin().getcamelchars('要轉拼音的字串');     提取首字母,返回大寫形式

new pinyin().getfullchars('要轉拼音的字串');         提取拼音, 返回首字母大寫形式

常量碼:

var polyphone = ;

中文轉拼音

中文轉拼音的類c 實現 code using system using system.collections.generic using system.text using system.collections endregion 獲得漢字的拼音,如果輸入的是英文本元將原樣輸出,中文標點符號將被忽略...

js實現漢字轉拼音

實現思路很簡單,漢字有21個聲母 b,p,m,f,d,t,n,l,g,k,h,j,q,x,zh,ch,sh,r,z,c,s 有韻母24個,其中單韻母有6個 a,o,e,i,u,v,復韻母有18個 ai ei,ui ao,ou,iu ie,ve,er,an en in,un vn ang,eng,in...

js實現漢字轉拼音

漢字轉拼音,每個字首字母大寫 pinyin.getfullchars name 提取首字母並大寫 pinyin.getcamelchars name description pinyin,to get chinese pinyin from chinese.license mit style aut...