不是说不能写,而是说麻烦
<script>
function getReg(txtValue)
{
 var reg = /^([2-4]\d|50|[2-4]\.\d+)$/g;
 alert(reg.test(txtValue));
}
</script>
<input type="text" onblur="getReg(this.value)">

解决方案 »

  1.   

    <script>
    function keydown(text){
             var reg = / *[\[\(] *[\.\d]{1,} *, *[\.\d]{1,} *[\]\)] *$/g;
             if(reg.test(text))alert("格式合要求:\n\n[或(,$2可以为)或], d1,d2可以是整数也可以是浮点数")
             else alert("格式不合要求:\n\n[或(,$2可以为)或], d1,d2可以是整数也可以是浮点数")
    }
    </script>
    <input type="text" value="[0,0]" title=回车测试 onkeypress="if(event.keyCode == 13)keydown(this.value)" >
    合要求的:
    [0,0]
    [.,.]
    [.0,.1]
      [ 0000,    0.2   ]  
    不合的:[ 0 0 0,0]
      

  2.   

    <script>
    var str = "[0.43,43]";function check(str)
    {
    var firstLetter = str.substr(0, 1);
    var lastLetter = str.substr(str.length-1, 1);
    var centerStr = str.substr(1, str.length-2); if(firstLetter=='[')
    if(lastLetter!=']')
    return false;
    else if(firstLetter=='(')
    if(lastLetter!=')')
    return false; if(centerStr.match(/^(([1-9]\d*(\.\d+)?)|(0(\.\d+)?))\,(([1-9]\d*(\.\d+)?)|(0(\.\d+)?))$/)==null)
    return false; return true;
    }alert(check(str));//如果要使支持[0.3,  25]这种类型(中间加空格)的需要把正则表达式改为:
    //^(([1-9]\d*(\.\d+)?)|(0(\.\d+)?))\, *(([1-9]\d*(\.\d+)?)|(0(\.\d+)?))$
    </script>
      

  3.   

    /^\[(([1-9]\d*)|0)(\.\d*[1-9])?,(([1-9]\d*)|0)(\.\d*[1-9])?\]$/   //[1,1]
    /^\((([1-9]\d*)|0)(\.\d*[1-9])?,(([1-9]\d*)|0)(\.\d*[1-9])?\)$/   //(1,1)
    先用这两个正则式判断出你的字符串是否符合标准,然后再做你的范围比较。