用户在输入框中输入小数点时逗号消失
Posted
技术标签:
【中文标题】用户在输入框中输入小数点时逗号消失【英文标题】:Commas disappearing when user inputs a decimal point in a input box 【发布时间】:2016-01-15 14:48:49 【问题描述】:我正在尝试通过 jQuery 实现一个代码,当用户将逗号输入到文本框中时,该代码会自动将逗号输入到大数字中。例如:1,000、1,000,000、10,000。我得到了这个运行,但是当用户尝试输入一个带有小数点的数字时。 1,000.50 逗号消失。
这是自动输入逗号的代码:
$("input[data-type='number']").keyup(function(event)
// skip for arrow keys
if(event.which >= 37 && event.which <= 40)
event.preventDefault();
var $this = $(this);
var num = $this.val().replace(/,/gi, "");
var num2 = num.split(/(?=(?:\d3)+$)/).join(",");
console.log(num2);
// the following line has been simplified. Revision history contains original.
$this.val(num2);
);
当用户输入小数点时,如何防止程序删除逗号值?
【问题讨论】:
看起来你的正则表达式不允许小数点。 JS 有 tools 这个... 【参考方案1】:与其尝试重做 reg exp 以允许小数,您可以拆分小数并在替换后重新加入
var num = $this.val().replace(/,/gi, "").split("."),
num2 = "";
if (num.length)
num[0] = num[0].split(/(?=(?:\d3)+$)/).join(",");
num2 = num.join(".");
【讨论】:
以上是关于用户在输入框中输入小数点时逗号消失的主要内容,如果未能解决你的问题,请参考以下文章