3

我有一个接受两种语言(英语和阿拉伯语)输入的应用程序我正在验证输入文本框,英语和阿拉伯语的验证逻辑不同,所以我需要知道用户输入的语言是什么

我遇到的所有解决方案都确定了系统和浏览器的默认语言,但我没有找到任何帮助我确定当前输入语言的方法

4

3 回答 3

1

好的,这是对我有用的解决方案。请注意,在我的应用程序中,我确定输入语言将是两种语言之一,输入是英语或阿拉伯语,所以在这里我做了什么

            var msgText =  entered message text;
            var textLength = msgText.length; // entered message length
            var isEnglish = true;
            for (var index = 0; index <= textLength; index = index + 1) {

                if (msgText.charCodeAt(index) > 160) {
                    //Not English 
                    isEnglish=false;
                    break;
                }
            }

在我需要的前面的示例中,如果单个字符是阿拉伯语,则应将整个文本验证为阿拉伯语,因此我默认添加了一个变量 isEnglish = true 并且只有在字符串中的字符不是英语时才会更改我迭代使用返回 ISO Latin-1 Character Number 的 charCodeAt(index) 字符串中的字符。使用页面中的表格,我能够确定该集合中表示英文字符的最大数字为 160 和

于 2012-03-13T08:11:58.220 回答
0

您可以使用 ActiveXObject 发送输入键,例如“a”并读取其 unicode/ascii 值。如果它是 97 它的英语,否则不是。看看这个问题:

在 JavaScript 中获取当前的键盘布局语言

于 2012-03-12T09:00:32.977 回答
0

您可以使用Google 的 AJAX 语言 API执行此操作

var content = "your text";
google.language.detect(content, function(result) {
  if (!result.error) {
    var language = 'unknown';
    for (lang in google.language.Languages) {
      if (google.language.Languages[lang] == result.language) {
        language = lang;
        break;
      }
    }
    // Now use the variable `language`
  }
});
于 2012-03-12T09:03:21.917 回答