有谁能告诉我如何将输入文本转换为希腊字母?
说明: 我想将输入框中输入的文本转换为希腊字母。请帮帮我。
<input type="text" id="my_text">
<p id="output"></>
<button onclick="greek()">Now</button>
<script type="text/javascript">
function greek() {
var text = document.getElementById("my_text").value;
?
?
?
}
这里我不知道该怎么办?
答案 0 :(得分:2)
首先,您需要定义拉丁语输入文本应如何音译为希腊字母表。见e。 G。 https://en.wikipedia.org/wiki/Romanization_of_Greek可能的音译表。
然后,您将从所选表格中创建一个JavaScript地图:
let transliteration = {"a": "α", "b": "β", ... }
要执行实际音译,您需要编写一个函数
function transliterate(string) {
var result = "";
for (chr of string) {
result += (transliteration[chr] || "_");
}
return result;
}
对于非易译字符,占位符&#34; _&#34;将被退回。
如果您选择包含双字母组合(&#34; ai&#34;)或三元组(&#34; nch&#34;)的音译方案,您可以使用正则表达式:
let transliteration = {"a": "α", "ai": "αι", "av": "αυ", "v": "β", "g": "γ", ...};
let result = string.replace(/ai|av|ng|a|v|g|.../g, chr => transliteration[chr]);
答案 1 :(得分:0)
你可以这样做......:
function greek(letter){
switch(letter){
case 'q':
return ";"
break;
case 'w':
return "ς"
break;
case 'e':
return "ς"
break;
case 'r':
return "ε"
break;
case 't':
return "ρ"
break;
case 'y':
return "τ"
break;
....
}
答案 2 :(得分:0)
您需要遍历这些字母并使用案例陈述或其他类似操作将其转换。
示例:
function greek(){
var text= document.getElementById("my_text").value;
var output = '';
for (var i = 0; i < text.length; i++) {
switch(text[i]){
case ' ':
output += ' ';
break;
case 'a':
output += 'α';
break;
case 'b':
output += 'ß';
// ... And so forth
default:
console.log("Unrecognized character");
break;
}
}
document.getElementById("output").innerHTML = output;
}
编辑输出到<p>
。