小数点“.” 在keydown中为190 在keypress中为46
$("#testInput").live("click", this, function () {/*控制光标在最后*/
var curVal = $(this).val();
var ran = this.createTextRange();
ran.moveStart('character', curVal.length);
ran.collapse(true);
ran.select();
}).live("keydown", this, function (event) {/*禁用方向键 Home End PgUp PgDn*/
if (event.keyCode >= 33 && event.keyCode <= 40) {
return false;
}
return true;
}).live("keypress", this, function (event) {
var curVal = $(this).val();
if (event.keyCode >= 48 && event.keyCode <= 57 ) {
if (curVal.indexOf(".") != -1 && event.keyCode == 46) return false; /*控制只能输入一个小数点*/
if (curVal == "0" && event.keyCode != 46) { $(this).val(""); return true; } /*控制第一位是0时 输入数字后将0删掉*/
if (curVal == "0" && event.keyCode != 46) return false; /*控制第一位输入0其后必须是小数点*/
if (curVal == "" && event.keyCode == 46){
alert(event.keyCode== 46);
$(this).val("0"); /*第一位输入小数点 将前一位补0*/
}
} else return false;
}).live("paste", function () {/*禁止粘贴非数值*/
return !clipboardData.getData('text').match(/^\D+(\.\D+)?$/)
}).live("dragenter", function () {/*禁止拖入*/
return false;
});