鍍金池/ 問(wèn)答/Java  HTML/ 禁止特殊字符及空格輸入之后,無(wú)法用搜狗輸入法輸入中文

禁止特殊字符及空格輸入之后,無(wú)法用搜狗輸入法輸入中文

如題,上代碼

<input type="text" name="address">
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
$("input").on("keyup",function () {
    $(this).val($(this).val().replace(/\s+/g,""));
});
$("input[name='address']").on("keyup",function (event) {
    $(this).val($(this).val().replace(pattern,""));
});

用來(lái)上述代碼,在IE9/10/11中均無(wú)法用搜狗輸入法輸入中文

回答
編輯回答
晚風(fēng)眠

因?yàn)槟愕恼齽t表達(dá)式中含有', 而這偏偏是搜狗中文輸入法打字上屏的關(guān)鍵,去掉這個(gè)字符過(guò)濾就應(yīng)該好了。

如果堅(jiān)持想要一起過(guò)濾這個(gè)', 建議你再增加一個(gè)on change事件,其中replace掉這個(gè)符號(hào),change事件會(huì)在用戶焦點(diǎn)離開(kāi)輸入框后觸發(fā)執(zhí)行。

2018年1月15日 05:53