Som*_*luk 66 javascript jquery numbers zero
建议通过javascript,jquery从数字(任何字符串)中删除或截断前导零的解决方案.
Guf*_*ffa 158
您可以在字符串的开头使用与零匹配的正则表达式:
s = s.replace(/^0+/, '');
Run Code Online (Sandbox Code Playgroud)
Cha*_*mel 26
我会使用Number()函数:
var str = "00001";
str = Number(str).toString();
Run Code Online (Sandbox Code Playgroud)
Die*_*oDD 12
也许有点晚了,但我想加2美分.
如果你的字符串ALWAYS代表一个数字,可能有前导零,你可以使用'+'运算符简单地将字符串转换为数字.
例如
x= "00005";
alert(typeof x); //"string"
alert(x);// "00005"
x = +x ; //or x= +"00005"; //do NOT confuse with x+=x, which will only concatenate the value
alert(typeof x); //number , voila!
alert(x); // 5 (as number)
Run Code Online (Sandbox Code Playgroud)
如果你的字符串不代表一个数字而你只需要删除0就使用其他解决方案,但如果你只需要它们作为数字,这是最短的方法.
如果你将一个空字符串连接到它们,强制数字作为字符串,就像:FYI你可以做相反的事情,例如:
x = 5;
alert(typeof x); //number
x = x+"";
alert(typeof x); //string
Run Code Online (Sandbox Code Playgroud)
希望它能帮到某个人
Joh*_*her 11
既然你说"任何字符串",我假设这是你想要处理的字符串.
"00012 34 0000432 0035"
Run Code Online (Sandbox Code Playgroud)
所以,正则表达式是要走的路:
var trimmed = s.replace(/\b0+/g, "");
Run Code Online (Sandbox Code Playgroud)
这样可以防止丢失"000000"值.
var trimmed = s.replace(/\b(0(?!\b))+/g, "")
Run Code Online (Sandbox Code Playgroud)