2016-07-29 47 views
0

我试图在我的autoForm输入字段中显示格式正确的数字。当我使用console.log语句时,下面的代码按预期打印到控制台。但是,返回到客户端时,显示器或控制台中500000个显示器5,0,0,000和.toLocaleString()完全不起作用。有任何想法吗?带有正则表达式的流星键盘事件问题

Template.mortgage.events({ 
'keyup [name=cashOut]': function(){ 
    var cashOut = event.target.value, 
    formatted = cashOut.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); 
    event.target.value = formatted; 
} 
}); 
+0

是否应用了正则表达式两次? – CodeChimp

+0

CodeChimp,谢谢!我认为你是对的,但我迷失在如何阻止它重复,因为我都抓住并从event.target.value返回值,所以它看起来递归。你会怎么做? – Mike

回答

0

您遇到的具体问题是使用g修改你的正则表达式。我会得到你想要做的 - 逗号 - 让它更具可读性的价值。一个更好的正则表达式可以在this question的公认答案中找到。