鍍金池/ 問答/HTML/ js能否知道當(dāng)前使用的輸入法以及當(dāng)前輸入法使用英文輸入還是中文輸入?

js能否知道當(dāng)前使用的輸入法以及當(dāng)前輸入法使用英文輸入還是中文輸入?

如題,比如我現(xiàn)在電腦有搜狗輸入法和智能ABC兩種輸入法,我輸入這段話使用的是搜狗輸入法,js能否獲取到我現(xiàn)在使用的是搜狗的中文輸入還是英文輸入?

clipboard.png

這個(gè)狀態(tài)。

或者說無論什么輸入法他們有一個(gè)公用的屬性來讓js獲取到判斷是中文輸入還是英文輸入?


更新下問題,我指的中文輸入是指

clipboard.png

英文輸入是:sdfdfdsfdsfds

我想要的是判斷這個(gè)輸入法的狀態(tài),而不是輸入的值是否是中文。

回答
編輯回答
蟲児飛

中文輸入法的輸入過程中會(huì)有 compositionstart 等事件,一般英文輸入法沒有。輸入法名應(yīng)該弄不到。

2018年4月30日 04:42
編輯回答
乖乖噠

在用戶輸入之前你什么都不能做 輸入之后就可以了 你可以監(jiān)聽輸入事件 如果判斷是日文就
瀏覽器還沒牛逼到暴露js api給其他進(jìn)程發(fā)送消息,輸入法也沒暴露api監(jiān)聽其他進(jìn)程的消息。

var reg = /[^日文]/;
on('input', function(val) {
   var _temp = val.match(reg);
   if (reg) {
        input.value= reg[0];
   } else {
        input.value = '';
   }
});
2017年1月19日 23:19
編輯回答
執(zhí)念

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

一般是通過判斷輸入的字符的編碼來判斷是不是中文

/^[\u3220-\uFA29]+$/ // 是中文
2017年4月28日 10:48