【发布时间】:2020-01-19 16:29:45
【问题描述】:
我正在处理带有用户输入的表单。这是我的代码:
<form role="search" id="default-search" action="<?php echo home_url(); ?>" novalidate>
<input class="number" name="price-from" placeholder="Cena od" maxlength = "11" min = "0">
</form>
- 首先我想自动格式化用户输入,例如10000 到 10,000 以更清楚地了解输入的内容
我转换用户输入的代码是:
jQuery.noConflict();
jQuery('input.number').keyup(function(event) {
// format number
jQuery(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
现在一切正常。
但是!
提交此表单时,服务器“认为”10,000 = 10,而不是 10000。
所以,我需要做的是将 10,000 转换回 10000,以便服务器正确计数。
我需要用户查看其输入的格式化版本(如 10,000),而服务器应使用不带逗号的纯数字(如 10000)。
任何想法都非常受欢迎。谢谢!
【问题讨论】:
-
签出Intl.NumberFormat 为您的用户格式化带有分隔符的数字。并且不要改变原始值,而是将其存储并以您的形式使用。使用Number 或parseInt 将值从字符串转换为数字。
标签: javascript jquery regex number-formatting