<input id="dtrunSpeed" name="dtrunSpeed" type="text" style="width: 220px;"
required="true" class="easyui-validatebox" οnkeyup="onNumValid(this);" οnblur="onNumValidBlur(this,this.value);"/>
<script type="text/javascript">
function onNumValid(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字而不是
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
}
function onNumValidBlur(obj,val){
var indexs1 = val.indexOf('.');
if(indexs1 == -1){//整数
if(val.charAt(0) == 0){//以0开始,处理000、001非法情况
var k = 0;
for(var i = 0;i < val.length; i++){
k = k + 1;
if(val.charAt(i) != 0){
val = val.substring(i,val.length);
obj.value = val;
return;
}
}
//alert(k);
if(k == val.length){
val = 0;
obj.value = val;
return;
}
}
}else{//小数
if(val.charAt(val.length-1) == '.'){//处理以“.”结尾的非法情况
val = val.substring(0,val.length-1);
}
if(val.charAt(0) == 0 && val.charAt(1) != '.'){
var k = 0;
for(var i = 0;i < val.length; i++){
k = k + 1;
if(val.charAt(i) != 0){
if(val.charAt(i) == '.'){//以0开始,处理00.1、000.1非法情况
val = val.substring(i-1,val.length);
obj.value = val;
return;
}else{//以0开始,处理01.1、001.1非法情况
val = val.substring(i,val.length);
obj.value = val;
return;
}
}
}
if(k == val.length){
val = 0;
obj.value = val;
return;
}
}else{
obj.value = val;
return;
}
}
}
</script>