【问题标题】:Formatting string to numbers to comma-separated values using JQuery or Javascript [duplicate]使用JQuery或Javascript将字符串格式化为数字以逗号分隔的值[重复]
【发布时间】:2014-09-06 11:49:59
【问题描述】:

在我的 jsf 页面中,我有一个带有字符串值的 inputtext。输入应该只是数字,但我希望在输入数据后自动格式化。例如:

我输入了1000,输入数据后会格式化为1000

我的输入文本如下所示:

<h:inputText value="#{Bean.myInputText}" styleClass="strFormatter">
   <p:ajax event="blur" update="@this"/>
</h:inputText>

我的脚本如下所示:

$(".strFormatter").blur (
   function() {
    var strToFormat = $(this).val();
    return strToFormat.replace(/(\d)(?=(\d{3})+(?1\d))g, "$1,");
})

但这不起作用,所以我的问题是,如何在输入后自动格式化我的数字字符串以逗号分隔而不触发任何操作?

【问题讨论】:

  • 而不是return strToFormat.replace(/(\d)(?=(\d{3})+(?1\d))g, "$1,"); 使用$(this).val(strToFormat.replace(/(\d)(?=(\d{3})+(?1\d))g, "$1,"))
  • 谢谢,但同样的事情发生了。
  • 检查你的正则表达式,我没看过...你的浏览器控制台有任何错误

标签: javascript jquery


【解决方案1】:

试试这个例子:

var n = 1000;
console.log(n.toLocaleString()); //<-- prints: "1,000"

n = 234234;
console.log(n.toLocaleString()); //<-- prints: "234,234"

【讨论】:

  • 这个也试过了,也没用
  • @user1597438,您使用的是哪个浏览器,遇到错误(如果有)?
  • IE。没有错误。它只是因为某种原因不起作用。
  • @user1597438, IE 哪个版本?我也在 IE 8 中测试过,对我有用!请直接进入 IE 控制台查看一次
  • @user1597438,请检查我已经上传了我的 IE 控制台输出
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 2018-07-29
  • 2018-01-01
  • 2021-09-28
  • 2018-12-08
相关资源
最近更新 更多