gpt4 book ai didi

javascript - 插入英文字符,取回希腊字符(javascript)

转载 作者:行者123 更新时间:2023-12-01 08:54:35 24 4
gpt4 key购买 nike

我的任务是制作一个表单,当有人在输入英文字符时,表单的输入元素通过 JavaScript 会自动将输入元素上的字符转换为希腊字符。在按下提交按钮之前。所以,我做了一个html测试文件,但我不确定我这样做是否正确。

这个想法是,在按键上,我们得到英文字符,然后从对象中得到希腊字符,然后我们将它们返回到输入 element(#fname)

到目前为止,这是我的 JavaScript 代码:

 var myObject;

myObject = {


"a" : "α",
"b" : "β",
"c" : "ψ",
"d" : "δ",
"e" : "ε",
"f" : "φ",
"g" : "γ",
"h" : "η",
"i" : "ι",
"j" : "ξ",
"k" : "κ",
"l" : "λ",
"m" : "μ",
"n" : "ν",
"o" : "ο",
"p" : "π",
"q" : ";",
"r" : "ρ",
"s" : "σ",
"t" : "τ",
"u" : "θ",
"v" : "ω",
"w" : "ς",
"x" : "χ",
"y" : "υ",
"z" : "ζ",
";" : ""
};



var ch = document.getElementById("fname"); //gets the value from the input
var chVal = ch.value.split(""); //returns an array
//console.log(chVal);


function toGreek(chVal,myObject){

var grArray = [];

for(var i=0; i<chVal.length; i++){
for(var prop in myObject){
if (myObject.hasOwnProperty(property)) {

if(chVal[i]== myObject[prop])

grArray.push(myObject.prop);

return grArray;

}
}
}

}

最佳答案

只是改变字符并不那么复杂:

function enToGreek(val) {
for (var en in myObject) {
if (val === en) return myObject[en];
}
return val;
}

document.getElementById('fname').onkeyup = function(e) {
var caretStart = this.selectionStart,
caretEnd = this.selectionEnd,
en = String.fromCharCode(e.keyCode).toLowerCase(),
greek = enToGreek(en);
if (en !== greek) {
this.value = this.value.replace(en, greek);
this.setSelectionRange(caretStart, caretEnd);
}
};

演示 -> http://jsfiddle.net/a73Lpq7b/

[更新,现在保留插入符号位置]

关于javascript - 插入英文字符,取回希腊字符(javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com