我有一个接受两种语言(英语和阿拉伯语)输入的应用程序我正在验证输入文本框,英语和阿拉伯语的验证逻辑不同,所以我需要知道用户输入的语言是什么
我遇到的所有解决方案都确定了系统和浏览器的默认语言,但我没有找到任何帮助我确定当前输入语言的方法
我有一个接受两种语言(英语和阿拉伯语)输入的应用程序我正在验证输入文本框,英语和阿拉伯语的验证逻辑不同,所以我需要知道用户输入的语言是什么
我遇到的所有解决方案都确定了系统和浏览器的默认语言,但我没有找到任何帮助我确定当前输入语言的方法
好的,这是对我有用的解决方案。请注意,在我的应用程序中,我确定输入语言将是两种语言之一,输入是英语或阿拉伯语,所以在这里我做了什么
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 和
您可以使用 ActiveXObject 发送输入键,例如“a”并读取其 unicode/ascii 值。如果它是 97 它的英语,否则不是。看看这个问题:
您可以使用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`
}
});