为什么我的浏览器里,正则表达式形如/[^0-9]/g  就能起到过滤作用,而类似/^[1-9]d*$/的表达式就不能起作用?
如果是js版本的问题,有没有办法解决?
如果没办法解决,我怎么才能写如形如/[^0-9]/g等起作用的浮点数正则?

解决方案 »

  1.   

    忘了说下环境  ie7+weblogic   想要的是javascript正则
      

  2.   

    匹配浮点数:
    /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/
      

  3.   

    匹配浮点数:[code=JScript]]^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$[/code
      

  4.   

    /[^0-9]/g  和/^[1-9]d*$/完全不一样
    贴些常用的供参考
    "^\d+$"  //非负整数(正整数 + 0) 
    "^[0-9]*[1-9][0-9]*$"  //正整数 
    "^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
    "^-[0-9]*[1-9][0-9]*$"  //负整数 
    "^-?\d+$"    //整数 
    "^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) 
    "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
    "^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
    "^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 
    "^(-?\d+)(\.\d+)?$"  //浮点数 
    "^[A-Za-z]+$"  //由26个英文字母组成的字符串 
    "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
    "^[a-z]+$"  //由26个英文字母的小写组成的字符串 
    "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
    "^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
    "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
    "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url"^[\u4E00-\u9FA5]$" 汉字
      

  5.   

     ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ \\匹配负浮点数
      

  6.   

    ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数 
      

  7.   

    请看我的使用,新手用正则,看看用法有没有问题。
    我的就是不起作用<input   name= "textfield 2"   type= "text "     size= "15 "    
    onkeyup="value=value.replace(/^[1-9]\d*$/,'')"
    onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ></td>