我可以设置文本框或文本区域的输入语言吗?

时间:2015-09-30 14:15:33

标签: javascript jquery html

我正在建立一个乌尔都语语言网站,让我们说,它类似于一个博客网站。我想强制用户使用乌尔都语以外的其他语言发帖。

我想到的一个解决方案是手动捕获Javascript中按下的每个键,并在文本框中显示其在乌尔都语中的备用键。像这样:

'A'-> 'ا' , 'B' -> 'ب'

我根本不觉得它是一个有效的解决方案,并且想知道是否有某种插件可以用来设置文本框的输入语言?或者即使我必须编写自己的代码,你还有其他解决方案吗?

5 个答案:

答案 0 :(得分:1)

我找到了我要找的东西。对于将来可能会使用乌尔都语的其他人,以下是在线提供的优秀乌尔都语编辑。

https://www.branah.com/urduphonetic

http://www.lipikaar.com/online-editor/urdu-typing

他们似乎很容易与我的网站整合。太棒了,真的。救了我重新发明轮子。

答案 1 :(得分:0)

不,使用HTML,CSS或JavaScript无法完成...使用Google输入工具执行此操作http://www.google.co.in/inputtools/

答案 2 :(得分:0)

点击此链接:

https://css-tricks.com/snippets/javascript/javascript-keycodes/

基本上,您需要在每个按键上捕获它们的键码值。

此链接进一步描述了如何拦截和更改输入的值:

Changing the keypress

答案 3 :(得分:0)

对我来说可以使用正则表达式: 在the wikipedia page of the urdu alphabet的帮助下,您可以获得乌尔都语的unicode范围: [\ u0600- \ u06FF],[\ u0750- \ u077F],[\ uFB50- \ uFDFF],[\ uFE70- \ uFEFF]

您可以尝试类似的方法:在按下某个键时绑定一个jquery事件,获取键字符串,测试它是否为Urdu,如果是,则添加char,如果不是,则不执行任何操作:

$('#yourTextArea').bind('keydown',function(evt){
    evt.stopPropagation(); // stop propagating the key pressed
    var TextAreaVal = $('#yourTextArea').val()
    var urduRegex = /[\u0600-\u06FF]|[\u0750-\u077F]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/;
    CharToTest = String.fromCharCode(evt.keyCode); // get the char related to the key pressed
    if(urduRegex.test(CharToTest)) // if urdu
    {$('#yourTextArea').val(TextAreaVal + ChartoTest )} // add char to the textarea
    else
    {return;} // do nothing
}

[未经测试]虽然我相信你可以解决这个问题......

答案 4 :(得分:0)