javascript获取输入的字符

<html>
<head>
<title >mapKeyPressToActualCharacter test</title>
<script language="javascript" type="text/javascript">
    function onKeyPress() {
 
        var e = window.event || e;
        var keyCode = e.keyCode;
 
        if (keyCode == 8) {
            this.criteria.value = this.criteria.value.substring(
                    0, this.criteria.value.length - 1);
        }
        else {
            this.criteria.value
                += mapKeyPressToActualCharacter(event.shiftKey, keyCode);
        }
 
    }
 
    function mapKeyPressToActualCharacter(isShiftKey, characterCode) {
        if (characterCode === 27
            || characterCode === 8
            || characterCode === 9
            || characterCode === 20
            || characterCode === 16
            || characterCode === 17
            || characterCode === 91
            || characterCode === 13
            || characterCode === 92
            || characterCode === 18) {
            return false;
        }
        if (typeof isShiftKey != "boolean" || typeof characterCode != "number") {
            return false;
        }
        var characterMap = [];
        characterMap[192] = "~";
        characterMap[49] = "!";
        characterMap[50] = "@";
        characterMap[51] = "#";
        characterMap[52] = "$";
        characterMap[53] = "%";
        characterMap[54] = "^";
        characterMap[55] = "&";
        characterMap[56] = "*";
        characterMap[57] = "(";
        characterMap[48] = ")";
        characterMap[109] = "_";
        characterMap[107] = "+";
        characterMap[219] = "{";
        characterMap[221] = "}";
        characterMap[220] = "|";
        characterMap[59] = ":";
        characterMap[222] = "\"";
        characterMap[188] = "<";
        characterMap[190] = ">";
        characterMap[191] = "?";
        characterMap[32] = " ";
        var character = "";
        if (isShiftKey) {
            if (characterCode >= 65 && characterCode <= 90) {
                character = String.fromCharCode(characterCode);
            } else {
                character = characterMap[characterCode];
            }
        } else {
            if (characterCode >= 65 && characterCode <= 90) {
                character = String.fromCharCode(characterCode).toLowerCase();
            } else {
                character = String.fromCharCode(characterCode);
            }
        }
        return character;
    }
 
</script>
 
</head>
<body>
    <input name="test" type="text" onkeypress="onKeyPress();"/>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值