表单货币输入通常涉及到输入金额的格式化和验证。以下是一种解决方法,使用JavaScript和HTML来实现:
function formatCurrency(input) {
// 获取用户输入的金额
let value = input.value;
// 移除所有非数字字符
value = value.replace(/[^\d.-]/g, '');
// 分离小数点和负号
let parts = value.split('.');
let integer = parts[0];
let decimal = parts.length > 1 ? '.' + parts[1] : '';
// 格式化整数部分,每三位添加一个逗号
integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
// 重新构建输入框的值
input.value = integer + decimal;
}
这段代码首先获取用户输入的金额,然后使用正则表达式移除所有非数字字符。接下来,将金额分离为整数部分和小数部分,然后使用正则表达式格式化整数部分,每三位添加一个逗号。最后,重新构建输入框的值,显示格式化后的金额。
你可以根据需要自定义代码,例如添加货币符号等。此外,还可以添加额外的验证逻辑,例如限制最大金额或最小金额,以确保输入的金额符合要求。