//判斷輸入小計金額的文本框中的值只能爲數字或者是小數
$(function () {
$.fn.numeral = function () {
$(this).css("ime-mode", "disabled");
this.bind("keypress", function (e) {
var code = (e.keyCode ? e.keyCode : e.which); //兼容火狐 IE
if (!$.browser.msie && (e.keyCode == 0x8)) //火狐下 不能使用退格鍵
{
return;
}
return code >= 48 && code <= 57 || code == 46;
});
this.bind("blur", function () {
if (this.value.lastIndexOf(".") == (this.value.length - 1)) {
this.value = this.value.substr(0, this.value.length - 1);
} else if (isNaN(this.value)) {
this.value = " ";
}
});
this.bind("paste", function () {
var s = clipboardData.getData('text');
if (!/\D/.test(s));
value = s.replace(/^0*/, '');
return false;
});
this.bind("dragenter", function () {
return false;
});
this.bind("keyup", function () {
this.value = this.value.replace(/[^\d.]/g, "");
//必須保證第一個爲數字而不是.
this.value = this.value.replace(/^\./g, "");
//保證只有出現一個.而沒有多個.
this.value = this.value.replace(/\.{2,}/g, ".");
//保證.只出現一次,而不能出現兩次以上
this.value = this.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
});
};
$("#要輸入數字或者小數文本框的id").numeral();
});