<form name="aafm">
<input type="text" name="number">
<input type="button" value="check" onClick="check(this.form);">
</form>
<script language="javascript">
function check(fm){
var number = fm.number.value;
if(isNaN(parseFloat(number))){
alert('false');
return;
}
//检查两个小数点
if(number.replace('.','').indexOf('.')!=-1){
alert('false');
return;
}
alert('true');
return true;
}
</script>

解决方案 »

  1.   

    <form name="aafm">
    <input type="text" name="number">
    <input type="button" value="check" onClick="check(this.form);">
    </form>
    <script language="javascript">
    function check(fm){
    var number = fm.number.value;
    if(isNaN(parseFloat(number))){
    alert('false');
    return;
    }
    //检查两个小数点
    if(number.replace('.','').indexOf('.')!=-1){
    alert('false');
    return;
    }
    //检查不能超过两个小数,并且小数点后需要带一个数,小数点前必需要带一个数
    if(number.indexOf('.')!=-1  && ((number.length - number.lastIndexOf('.')) >3 || (number.indexOf('.')+1) == number.length || number.indexOf('.')==0)) {
    alert('false');
    return;
    }
    alert('true');
    return true;
    }
    </script>
      

  2.   

    if (/^(0|[1-9]\d*)(\.\d{1,2})?$/.test(obj.value)) {}
      

  3.   

    function isMoney(s){
    if(isInteger(s))return true;
    var ma=s.match(/^(\d+)\.(\d{0,2})$/);
    if(ma==null)return false;
    return true;
    }
    function isInteger(s){
    var ma=s.match(/^(\d+)$/);
    if(ma==null)return false;
    return true;
    }
      

  4.   

    问题已经解决了,感谢 rf_wu(你我他) 提供了方法。<script language="javascript">
    function check(fm){
    var number = fm.number.value; if(isNaN(parseFloat(number)) || !isNumber(number.replace('.',''))){
    alert('请输入数字或小数点');
    return false;
    }
    //检查两个小数点
    if(number.replace('.','').indexOf('.')!=-1){
    alert('小数点以后只可输入两位');
    return false;
    }
    //检查不能超过两个小数,并且小数点后需要带一个数
    if(number.indexOf('.')!=-1  && ((number.length - number.lastIndexOf('.')) >3 || (number.indexOf('.')+1) == number.length || number.indexOf('.')==0)) {
    alert('小数点以后只可输入两位');
    return false;
    }
    return true;
    }//str必须全为数字 
    function isNumber(str){
    for(var i=0;i<str.length;i++) {
    var ch=str.charCodeAt(i);
    if(ch<48 || ch>57) {
    return false;
    }
    }
    return true;
    }
    </script>
    <form name="aafm" onSubmit="return check(this);">
    <input type="text" name="number">
    <input type="submit" value="验证数字">
    </form>