不給user轉中文輸入法
藍色小舖 BlueShop
>> 不給user轉中文輸入法
這是能達成的,keyCode = 229 時,表示在輸入中文:
<INPUT TYPE="text" onKeyDown="if (event.keyCode == 229){event.returnValue = false;}">
key code 229 真正代表的是å字元,
並不代表中文字元,
只是微軟目前出的台灣中文輸入法,
除了"微軟新注音輸入法"外,在onkeydown時都會自動送出key code 229。
故onkeydown的驗證對使用微軟新注音輸入法的用戶無效。
Javascript是無法對付故意搞破壞者的,
因為一定能被破解,
像是關掉browser的javascript等等。
以下是在下寫的,
用來防止無心之過的寫法,
適用於各種輸入法\對方用paste貼中文字\對方用drag貼中文字。
<input onfocus="gg(this.sourceIndex)" style="ime-mode:disabled">
<script>
reg=/[^a-zA-Z]/g;
function gg(y) {
s=document.all(y);
if (k=s.value.match(reg)) {
s.value=s.value.replace(reg,'');
alert('Invalid characters have been deleted!')
}
setTimeout('gg(s.sourceIndex)',100);
}
</script>
沒有留言:
張貼留言