$(function(){ //datatables基本设置 $.extend( $.fn.dataTable.defaults, { paging: false, ordering: false, searching: false, info: false, scrollX: true, scrollY: '500px', scrollCollapse: true, language: { emptyTable: " ", zeroRecords:" " } } ); }); function RegNum(obj,e,decimal) { var pos = obj.selectionEnd; var event = e || window.event; var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; if(keyCode != 37 && keyCode != 39){ if (decimal != 0) { //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d.-]/g,""); //保证第一个数字为0后,第二个数字不能为0 obj.value = obj.value !== '0' ? obj.value.replace(/^0+/,'').replace(/^\./,"0.") : obj.value; //保证-0后不能再接0 obj.value = obj.value.replace(/^\-0+/g,"-0"); //保证只有出现一个.而没有多个. obj.value = obj.value.replace(/\.{2,}/g,"."); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/^\./g,""); //保证.只出现一次,而不能出现两次以上 obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); //保证-只能出现一次,且必须在第一位 obj.value = parseFloat(obj.value) > 0 ? obj.value.replace(/\-/g,"") : obj.value.replace("-","$#$").replace(/\-/g,"").replace("$#$","-"); //只能输入deciaml 位小数 var reg = new RegExp("^(\\-)*(\\d+)\\.(\\d{1,"+decimal+"}).*$"); obj.value = obj.value.replace(reg,'$1$2.$3'); } else { //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d-]/g,""); //保证第一个数字为0后,第二个数字不能为0 obj.value = obj.value !== '0' ? obj.value.replace(/^0+/,'') : obj.value; //保证-0后不能再接0 obj.value = obj.value.replace(/^\-0+/g,"-0"); //保证-只能出现一次,且必须在第一位 obj.value = parseFloat(obj.value) > 0 ? obj.value.replace(/\-/g,"") : obj.value.replace("-","$#$").replace(/\-/g,"").replace("$#$","-"); } } obj.setSelectionRange(pos,pos); }