gpt4 book ai didi

javascript - 输入时转换输入语言

转载 作者:行者123 更新时间:2023-11-28 05:16:29 24 4
gpt4 key购买 nike

我有一个接受阿拉伯语和英语两种语言的输入字段,我想要的是当我在这个输入中输入阿拉伯数字以在用户输入时将它们转换成英语,我希望它们从 [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'][' 0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],我该怎么做?这是我的输入代码:

<input type="text" placeholder="Numbers should be converted from Arabic to English here">

最佳答案

在输入上使用 oninput 处理程序来监视文本字段中的更新。然后在输入元素的值上使用 String#replace 将所有数字替换为您需要的数字。

replace 方法可以接受一个函数,我在下面的代码中使用了该函数,通过它在映射数组中的索引将数字直接映射到阿拉伯语表示形式。

let map =  ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];

function change(el){
el.value = el.value.replace(/\d/g, function(match){
return map[match]
})
}
<input type="text" placeholder="Numbers should be converted from Arabic to English here" oninput="change(this)">

**编辑**

我晕了。 OP 想从阿拉伯语转到英语。只需将 map 更改为将阿拉伯语表示形式映射到英语的对象,然后更改 replace 中的正则表达式以捕获阿拉伯语而不是数字。

let map =  {
'۰' : "0",
'۱' : "1",
'۲' : "2",
'۳' : "3",
'۴' : "4",
'۵' : "5",
'۶' : "6",
'۷' : "7",
'۸' : "8",
'۹' : "9"
};

function change(el){
el.value = el.value.replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function(match){
return map[match]
})
}
<input type="text" placeholder="Numbers should be converted from Arabic to English here" oninput="change(this)">

关于javascript - 输入时转换输入语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45056126/

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