我工作的韓國名稱的romanizer,我呆在這裏,因爲它是不是從一個簡單的音譯到B卻多了幾分複雜的一個:的Javascript的charAt不同的音譯一個字符串
通常名稱由3個音節組成(在JavaScript中識別爲3個字符),姓氏是第一個,通常後跟第一個名稱,包括2(或不多於1個)音節。
不幸的是,姓氏和名字並不總是具有相同的羅馬化,我需要在名字的兩個音節之間加上「-」。
一些具體的(和人工)的例子:
- 김김김 - >金GIM-GIM
- 이이김 - >李I-GIM
- 이김야 - >李GIM亞
要操作的三個音節(字)之間的區別,並設法使它們看起來,我寫了下面的代碼:
<!DOCTYPE html>
<html>
<body>
<script>
function separation() {
var str = document.getElementById("ttt").value;
var res1 = str.charAt(0);
var res2 = str.charAt(1);
var res3 = str.charAt(2);
document.getElementById("demo").innerHTML = res1+res2+res3;
}
var syllable_1 = {
'김' : 'Kim ',
'이' : 'Lee ',
'야' : 'Ya',
}
var syllable_2 = {
'김' : 'Gim',
'이' : 'I',
'야' : 'Ya',
}
var syllable_3 = {
'김' : '-gim',
'이' : '-i',
'야' : '-ya',
}
function hangul_to_roman(hangul) {
return syllable_1[hangul.charAt(0)] + syllable_2[hangul.charAt(1)] + (hangul.length >= 3 ? syllable_3[hangul.charAt(2)] : "");
}
</script>
<input type="text" id="ttt" value="김김이" onBlur="separation()">
<p id="demo"></p>
</body>
</html>
編輯:問題是我只設法讓韓國人未轉換。任何人都可以告訴我如何改正這一點?
預先感謝您!
不要介意音譯部分:您將* innerHTML替換爲每個下一個新片段。在寫入'demo'之前將字符串添加到一起。 – usr2564301 2014-11-01 11:14:28
現在好多了,謝謝 – user2911849 2014-11-01 11:27:42