我有一个将由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

有想法吗?

最佳答案

您可以使用否定的前瞻:

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


例:

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

关于javascript - 删除所有标题零,除非它是“,”或“。”之前的零。或在“,”或“。”之后的零。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23780897/

10-12 17:52