js能否知道当前使用的输入法以及当前输入法使用英文输入还是中文输入?

如题,比如我现在电脑有搜狗输入法和智能ABC两种输入法,我输入这段话使用的是搜狗输入法,js能否获取到我现在使用的是搜狗的中文输入还是英文输入?

clipboard.png

这个状态。

或者说无论什么输入法他们有一个公用的属性来让js获取到判断是中文输入还是英文输入?


更新下问题,我指的中文输入是指

clipboard.png

英文输入是:sdfdfdsfdsfds

我想要的是判断这个输入法的状态,而不是输入的值是否是中文。

阅读 9.5k
3 个回答

中文输入法的输入过程中会有 compositionstart 等事件,一般英文输入法没有。输入法名应该弄不到。

表情既不算中文也不算英文。

一般是通过判断输入的字符的编码来判断是不是中文

/^[\u3220-\uFA29]+$/ // 是中文

在用户输入之前你什么都不能做 输入之后就可以了 你可以监听输入事件 如果判断是日文就
浏览器还没牛逼到暴露js api给其他进程发送消息,输入法也没暴露api监听其他进程的消息。

var reg = /[^日文]/;
on('input', function(val) {
   var _temp = val.match(reg);
   if (reg) {
        input.value= reg[0];
   } else {
        input.value = '';
   }
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题