【问题标题】:Meteor Keyup Event w/Regex Issue带有正则表达式问题的 Meteor Keyup 事件
【发布时间】:2016-07-30 02:46:30
【问题描述】:

我正在尝试在我的 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;
}
});

【问题讨论】:

  • 是否应用了两次正则表达式?
  • CodeChimp,谢谢!我认为你是对的,但我不知道如何阻止它重复,因为我从 event.target.value 获取并返回值,所以它看起来是递归的。你会怎么做?

标签: javascript regex meteor meteor-autoform


【解决方案1】:

您遇到的具体问题是在您的正则表达式上使用了g 修饰符。我得到了你想要做的 - 逗号化值以使其更具可读性。可以在this question 的已接受答案中找到更好的正则表达式来执行您想要的操作。

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 2011-01-25
    相关资源
    最近更新 更多