keyCode的使用

8: 退格键
46:Delete
37-46:方向键
48-57:小键盘区的数字
96-105:主键盘区的数字
110、190:小键盘区和主键盘区的小数点
189、109:小键盘区和主键盘区的负号。

13: 回车
9:Tab


可以用来实现当敲击键盘回车键时,改成Tab键。
例1:
if(window.event.keyCode==13)
{
window.event.keyCode=9;
}

注:只有少数可以替换,大部分是不行的,有权限的问题。


例2:金额文本框的限制
//对用户敲入的键进行判断。
function numOnKeyDown() {
var k = window.event.keyCode;
return isValidNum(k);
}

//判断是否为数字或允许使用的键。
function isValidNum(k) {
return (k == 9 || k == 8 || k == 46 || k == 14 || k == 189 || k == 109 || k == 190 || k == 110 || (k >= 48 && k <= 57) || (k >= 96 && k <= 105) || (k >= 37 && k <= 40));
}

//禁止粘贴非数字的字符串。
function numPaste() {
var text = window.clipboardData.getData("Text");
for (var i = 0; i < text.length; i++) {
var ascii = text.charCodeAt(i); //用charCodeAt取得ASCII码
if (!isValidNum(ascii)) {
return false;
}
}
}

//添加千分位。
function addCommafy(str) {
var amount = document.getElementById("amount");
amount.style.textAlign = "right";
var regex = /\d{1,3}(?=(\d{3})+$)/g;
var n1 = str.replace(/^(\d+)((\.\d+)?)$/, function (s, s1, s2) { return s1.replace(regex, "$&,") + s2; });
return n1;
}

//移除千分位
function removeCommafy() {
var amount = document.getElementById("amount");
amount.style.textAlign = "left";
amount.value = amount.value.replace(/,/g, '');
}

 

posted @ 2012-03-17 18:25  水之原  阅读(1170)  评论(0编辑  收藏  举报