gpt4 book ai didi

javascript - 使用正则表达式在 Javascript 中形成一个没有前导零的数字

转载 作者:数据小太阳 更新时间:2023-10-29 06:07:50 25 4
gpt4 key购买 nike

我在构造正则表达式时遇到问题,该正则表达式可以从表示为字符串的数字中去除前导零。抱歉,parseFloat 不是我要找的,因为我将处理小数点后 30 位以上的数字。

我当前的正则表达式是

/(?!-)?(0+)/;

这是我的测试用例。 http://jsfiddle.net/j9mxd/1/

$(function() {
var r = function(val){
var re = /(?!-)?(0+)/;
return val.toString().replace( re, '');
};
test("positive", function() {
equal( r("000.01"), "0.01" );
equal( r("00.1"), "0.1" );
equal( r("010.01"), "10.01" );
equal( r("0010"), "10" );
equal( r("0010.0"), "10.0" );
equal( r("10010.0"), "10010.0" );
});
test("negative", function() {
equal( r("-000.01"), "-0.01" );
equal( r("-00.1"), "-0.1" );
equal( r("-010.01"), "-10.01" );
equal( r("-0010"), "-10" );
equal( r("-0010.0"), "-10.0" );
equal( r("-10010.0"), "-10010.0" );
});
});

为什么我的测试用例没有通过?

最佳答案

这完成了你所有的案例

var re = /^(-)?0+(?=\d)/;
return val.toString().replace( re, '$1');

^ 匹配字符串的开头。

(-)? 匹配一个可选的 - 这将被重新插入到替换字符串中。

(0+)(?=\d) 匹配一系列 0 和后面的数字。 (?=\d)lookahead assertion , 它不匹配但确保数字跟在前导零之后。

关于javascript - 使用正则表达式在 Javascript 中形成一个没有前导零的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10626332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com