javascript代码:
/*
keyCode
ascII码说明:
8:backspace键
46:delete键
37-40:方向键
48-57:小键盘区的数字
96-105:主键盘区的数字
110、190:小键盘区和主键盘区的小数点
189、109:小键盘区和主键盘区的负号
13:回车
9:Tab键
*/
function donotpaste() {
var txt = clipboardData.getData('Text');
if (parseFloat(txt) != txt) {
alert("不合法");
return false;
}
}
function numonkeydown() {
var k = window.event.keyCode;
if ((k == 13) || (k == 9) || (k == 8) || (k == 46) || (k == 189) || (k == 109) || (k == 110) || (k == 190) || (k >= 37 && k <= 40) || (k >= 48 && k <= 57) || (k >= 96 && k <= 105)) {
return true;
}
else {
return false;
}
}
function compafy(n) {//自动添加千分位,断言以3位数字结尾,选择前面的1到3位数字为一组
var re = /\d{1,3}(?=(\d{3})+$)/g;
var n1 = n.replace(/^(\d+)((\.\d+)?)$/, function (s, s1, s2) { return s1.replace(re, "$&,") + s2; }); //s全部字符串,s1整数部分,s2小数点部分,$&表示匹配的子字符串即3位结尾数字前面的1到3位数字
return n1; }
网页内容:
<body onkeydown="if(window.event.keyCode==13){window.event.keyCode=9;}">
<!--回车的keyCode为13,Tab键的keyCode为9-->
金额:<input type="text" style="ime-mode: disabled" onkeydown="return numonkeydown()" onpaste="return donotpaste()" onblur="this.style.textAlign='right';this.value=compafy(this.value)" onfocus="this.style.textAlign='left';this.value=this.value.replace(/,/g,'');" />
合计:<input type="text" />
</body>