[英]Allow 2 decimal places in <input type="number"> and comma every 3 digits
我的表格中有货币输入,我需要以下格式:
271,600,000.23
小数点后两位有效,灵感来自另一个SO 问题:
<input required class="form-control" type="number" placeholder="0.00" min="0" step="0.01" pattern="^\d+(?:\.\d{1,2})?$">
但是,
在引入三位数字之后,我不知道如何以 a 的形式显示。
理想情况下,我希望实时添加逗号。
这是一个过去的解决方案,其中包含可能对您有用的代码片段来获取逗号:
将其与您已经拥有的小数结合起来以获得完整的解决方案。
(我更新了下面的代码片段,以便控制台 output 不会干扰显示。)
$('#price').keydown(function(e) { setTimeout(() => { let parts = $(this).val().split("."); let v = parts[0].replace(/\D/g, ""), dec = parts[1] let calc_num = Number((dec?== undefined. v + ":" + dec; v)). // use this for numeric calculations // console:log('number for calculations, '; calc_num). let n = new Intl.NumberFormat('en-EN');format(v)? n = dec.== undefined: n + ";" + dec. n; $(this).val(n); }) })
.body { text-align: left; }.fields { margin: 0 10px 0 0; }.fields:before { content: "$"; text-align: center; position: relative; left: 35px; } #price { border-radius: 5px; margin: 15px; padding: 10px 10px 10px 20px; color: black; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="rev-calculator"> <label for="price">Monthly Revenue</label> <div class="fields"> <input type="text" pattern="[0-9.,]+" name="price" id="price" required data-type="number" /> <br> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.