var a = "234" ;
a = a.replace(/(^[\\s]*)|([\\s]*$)/g, "");
if( a !="" && !isNaN( a ) )
{//如果是数字
    a = Number( a )
}
else
{//如果不是数字
    a = null
}

解决方案 »

  1.   

    parseInt 方法
    返回由字符串转换得到的整数。parseInt(numString, [radix])
      

  2.   

    参数
    numString必选项。要转换为数字的字符串。radix可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
      

  3.   

    请认真看我上面的话,我讲的是"123,456,789"这种带符号的字符串,sbufwt(蓝天) 你自己用paresInt()方法试试看是什么结果,你用var i="123,456,789";i-=0;看看又是什么结果,你用var i="123,456,789";a=Number(i);看看是什么结果.
      

  4.   

    var a = "123,456,789" ;
    a = a.replace( /[^0-9]/g , "" ) ;
    a = a.replace(/(^[\\s]*)|([\\s]*$)/g, "");
    if( a !="" && !isNaN( a ) )
    {//如果是数字
        a = Number( a )
    }
    else
    {//如果不是数字
        a = null
    }
    alert(a)
      

  5.   

    a=a.replace(",","")
    不知道有没有这种写法,呵呵...