<script>
function test(){
var str=document.form1.text1.value;
var re=/^((\d+(.\d+)?)|(\d+\/[1-9]\d*))$/g;
return alert(re.test(str))
}
</script>
<form name="form1">
<input type=text name="text1" >
<input type="button" onclick="return test()">
</form>

解决方案 »

  1.   

    比上面多支持12.3/4.5的格式。
    <script>
    function test(){
    var str=document.form1.text1.value;
    var re=/^((([1-9]\d*|0)(.\d+)?)(\/([1-9]\d*|0)(.\d+)?)?)$/g;
    return alert(re.test(str))
    }
    </script>
    <form name="form1">
    <input type=text name="text1" >
    <input type="button" onclick="return test()">
    </form>
      

  2.   

    jinjuduo(与人玫瑰,手有余香) ,不能验证1\4这样的非法输入啊!!
      

  3.   

    我也纳闷转义字符居然会引起错误,试试下面的
    <script>
    function test(){
    var str=document.form1.text1.value;
    var re=new RegExp("^((([1-9]\d*|0)(.\d+)?)(/([1-9]\d*|0)(.\d+)?)?)$");
    return alert(re.test(str))
    }
    </script>
    <form name="form1">
    <input type=text name="text1" >
    <input type="button" onclick="return test()">
    </form>
      

  4.   

    jinjuduo(与人玫瑰,手有余香) ,我试了,我输入1\4还是不行啊!
      

  5.   

    1\4
    我验证没有问题呀。
    返回false
      

  6.   

    jinjuduo(与人玫瑰,手有余香) 的方法不能输入大于9的整数
      

  7.   

    单判断数值为什么一定是正则?if (document.getElementById('num') * 1 != document.getElementById('num')){
       alert('您输入的不是合法的数值');
       return false;
    }
      

  8.   

    jinjuduo(与人玫瑰,手有余香),修改了后1\4可以验证,但是输入小数又不行了!
      

  9.   

    function test(v){
      var reg = /^\d+(?:\.\d+)?(?:\/\d+)?$/;
      if(!reg.test(v))
      alert('err');
    }<input type="Text"  onblur='test(this.value)' />
      

  10.   

    (\-|((\+)?))([\d]+)((\.([\d]+))?)|([1-9](\d)*/[1-9](\d)*)
      

  11.   

    这次可以了
    <script>
    function test(){
    var str=document.form1.text1.value;
    var re=new RegExp("^(([1-9]\\d*|0)(.\\d+)?)(/([1-9]\\d*|0)(.\\d+)?)?$");
    return alert(re.test(str))
    }
    </script>
    <form name="form1">
    <input type=text name="text1" >
    <input type="button" onclick="return test()">
    </form>
      

  12.   

    //arr = input.value.split(","); 然后遍历数组arr 判断一下 isNaN(eval(arr[i])) 
    <input type="Text" onblur='test(this.value)'>function test(value)
    {
        var arr = value.split(",");
        for(var i=0;i<arr.length;i++)
            if(isNaN(eval(arr[i])))
                return false;
        return true;
    }
      

  13.   

    小改了下jinjuduo(与人玫瑰,手有余香)的,其实他的只是漏掉一个转义符<script>
    function test(){
    var str=document.form1.text1.value;
    var re=/^((\d+(\.\d+)?)|(\d+\/[1-9]\d*))$/g;
    return alert(re.test(str))
    }
    </script>
    <form name="form1">
    <input type=text name="text1" >
    <input type="button" onclick="return test()">
    </form>
      

  14.   

    function cc(a){
    alert(/^((\d+)|(\d+\.\d+)|([1-9]\d*\/\d+))$/.test(a))
    }
    cc("0")
    cc("123")
    cc("0.5")
    cc("1/3")
    cc("0")
    cc("12.9")
    cc("0.5555")
    cc("1/334")
    cc("1231/334")
    分数考虑了分子不为0,小数这样的没考虑02.3
      

  15.   

    <script>
    function test(){
    var str=document.form1.text1.value;
    var re=/^((([1-9]\d*|0)(\.\d+)?)(\/([1-9]\d*|0)(\.\d+)?)?)$/g;
    return alert(re.test(str))
    }
    </script>
    <form name="form1">
    <input type=text name="text1" >
    <input type="button" onclick="return test()" value="test">
    </form>
    17楼的提醒很对。
    我原来的正则漏了一个转义字符
    我在最开始写的基础上改动了一下
    支持1.2/2.3,0.12,1/3等格式
    但是写成012或者0012.1的格式就不正确了
    这个.把我闹的。哎.............
      

  16.   

    来个全的
    function cc(a){
    alert(/^((\d+)|([1-9]\d*\.\d+)|(0\.\d+)|([1-9]\d*\/\d+))$/.test(a))
    }
    cc("0")
    cc("123")
    cc("0.5")
    cc("1/3")
    cc("0")
    cc("12.9")
    cc("0.5555")
    cc("1/334")
    cc("1231/334")
    cc("02.334")
      

  17.   

    function cc(a){
    alert(/^((\d+)|([1-9]\d*\.\d+)|(0\.\d+)|([1-9]\d*\/[1-9]\d*)|(0\/[1-9]\d*))$/.test(a))
    }
      

  18.   

    new RegExp('^\d*[\.\/]?\d*$', '').test('11\.3')
    单纯的表达式字符串就是:^\d*[\.\/]?\d*$
    刚测试了一下,应该是这样的,好用的。我这里有一个简单的测试正则的网页,lz有兴趣可以跟我联系
      

  19.   

    谢谢大家的解答,特别是jinjuduo(与人玫瑰,手有余香) 和 Top  
     element_wm(阿木) 这两位