我有一个输入字符串,将由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想法?
答案 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