gpt4 book ai didi

javascript - 如何在每 3 位数字后添加一个逗号?

转载 作者:行者123 更新时间:2023-11-29 17:44:28 25 4
gpt4 key购买 nike

这是我的代码的简化版:

$("#annual_sales").on('keyup', function () {
$(this).val( $(this).val().replace(/(\d{3})/g, "$1,") );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="annual_sales" type="text" />

我试图在每 3 位数字后添加一个逗号。

The patterns works well here ,但如您所见(在上面的代码片段中),它在 JS 中不起作用。知道出了什么问题吗?

最佳答案

在您当前的模式 (\d{3}) 中,您在匹配 3 位数字之后添加一个逗号,并且当 3 位数字后面已经有一个逗号时。

您可能会使用负数 lookahead 匹配 3 位数字(?!,) 断言后面的不是逗号:

(\d{3}(?!,))

$("#annual_sales").on('keyup', function() {
$(this).val($(this).val().replace(/(\d{3}(?!,))/g, "$1,"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="annual_sales" type="text" />

如果你不想在行尾使用逗号,你可以在否定前瞻中使用一个交替,断言后面的内容既不是逗号也不是行尾 (\d{3}( ?!,|$))

$("#annual_sales").on('keyup', function() {
$(this).val($(this).val().replace(/(\d{3}(?!,|$))/g, "$1,"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="annual_sales" type="text" />

关于javascript - 如何在每 3 位数字后添加一个逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51044838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com