从Javascript中删除前导零个数字

可能重复:
在Javascript中截断一个string的前导零

什么是最简单的和跨浏览器兼容的方式来删除在JavaScript中的前导零号码?

例如,如果我有一个文本框值为014或065,它应该只返回14或65

尝试parseInt 。

 parseInt("065", 10); 

第二个参数是基数 ,根据文档,它应该总是指定。 MDN说,

基数

表示上述string的基数的整数。 始终指定此参数以消除读者的困惑并保证可预测的行为。 未指定基数时,不同的实现会产生不同的结果。
………….
………….
如果基数未定义或0(或不存在),JavaScript假定如下:

  • 如果inputstring以“0x”或“0X”开头,则基数为16(hex),并parsingstring的其余部分。
  • 如果inputstring以“0”开始,则基数为八(八进制)或十(十进制)。 究竟select哪个基数是依赖于实现的。 ECMAScript 5指定使用10(十进制),但并非所有的浏览器都支持这一点。 出于这个原因, 当使用parseInt时总是指定一个基数
  • 如果inputstring以任何其他值开头,则基数为10(十进制)。

例如,在一些实现中, parseInt("01803")将产生1 。 假设目标是获得1803 ,请以10为基数调用parseInt,以确保parsing在基本的十进制编号系统中完成。 即: parseInt("01803", 10)将产生1803 。 请注意,对于非整数值,parseInt()将四舍五入数字作为整数返回。 paseInt("018.03", 10)将产生18

正则expression式:

 "014".replace(/^0+/, '') 

目前还不清楚你为什么要这样做。 如果你想得到正确的数值,你可以使用一元+ [docs]

 value = +value; 

如果你只是想格式化文本,那么正则expression式可能会更好。 这取决于你正在处理的价值观,我会说。 如果你只有整数,那么

 input.value = +input.value; 

也很好。 当然,它也适用于浮点值,但取决于点之后有多less数字,将其转换为数字并返回到string可以(至less用于显示)删除一些数字。