我的代码我来办
------------------------------------------------------
<input type="text" onblur="NumCheck(this);">
<script language="javascript">
//加这个方法
String.prototype.trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}function NumCheck(obj){
//加上这句话
if(obj.value.trim()==""){obj.value="";return;}
var str = IsNumeric(obj.value);
if(!str){
alert("请输入合法的数字");
obj.focus();
obj.select();
}
else
obj.value=str;
}function IsNumeric(value){
if(/^[0-9]+(.[0-9]{1,2})?$/.test(value)){
if(value.indexOf(".")<0){
value=value+".00";
} else {
var arr = value.split(".");
value= arr[0] + "." + (arr[1] + "00").substring(0,2);
}
return value;
}
return false;
}</script>

解决方案 »

  1.   

    function NumCheck(obj){
    if(Trim(obj.value) == ""){
     alert("不能为空!") ; 
     obj.value = "" ; 
     return ; 

    var str = IsNumeric(obj.value);
    if(!str){
    alert("请输入合法的数字");
    obj.focus();
    obj.select();
    }
    else
    obj.value=str;
    }///////////////////////////
    function Trim(str) { 
    return str.replace(/^[\s]*|[\s]*$/g, ""); 
      

  2.   

    else
      obj.value=str;---->>>>else if(obj.value!=str)
      obj.value=str;-------
    输入1.00,再focus进去,^Z可以看到不同的效果。尽量多为用户考虑一点,
    尽管事实上很少用户会明白你的汗水。另外,函数名称尽量与函数功能一致,
    可以增加代码的可读性,方便后来的维护者