删除所有标题零,除非它是"之前的零,"或"。"或者","或"。"

时间:2014-05-21 10:42:33

标签: javascript regex

我有一个输入字符串,将由2个正则表达式验证。

        var pattern = /^[0-9]+(\.[0-9]{0,2})?$/;   
        var pattern2 = /^[0-9]+(,[0-9]{0,2})?$/;

        txtAmount.SetText(txtAmount.GetText().trim().replace(/^0+/, '')); 
        if (pattern.test(txtAmount.GetText()) == false && pattern2.test(txtAmount.GetText()) == false)
    //Dont pass test

else 
 //pass

问题是我需要以某种方式修剪字符串的前导零而不是“。”之前的零。或“,”或“。”之后的“零”。或“,”

因为它现在是0.2或0.3 - > .2,3

Anny想法?

2 个答案:

答案 0 :(得分:2)

您可以使用否定前瞻:

.replace(/^0+(?![.,])/,'')

示例:

"0000.2".replace(/^0+(?![.,])/,'')
>>> "0.2"

答案 1 :(得分:1)

尝试/^0+(?!\.)/

结果:

0000.2   0.2
0.2      0.2
0.00002  0.00002