
本教程详细介绍了如何利用j*ascript的`intl.numberformat` api与jquery的事件处理机制,为网页中具有相同css类的多个输入框实现实时的货币格式化功能。通过监听用户输入事件,动态提取、验证并格式化数值,最终将符合本地货币习惯的格式化结果返回到用户正在操作的输入框中,从而提升用户体验并确保数据输入规范性。
在现代Web应用中,用户输入货币金额是一个常见场景。为了提升用户体验并确保数据格式的统一性,实时地将用户输入的数字格式化为货币形式显得尤为重要。本教程将引导您使用J*aScript的Intl.NumberFormat国际化API结合jQuery,实现对多个具有相同CSS类的输入框进行动态货币格式化,并确保格式化后的值返回到正确的输入框中。
首先,我们需要在页面中定义多个用于输入货币金额的输入框。为了方便通过J*aScript统一管理,这些输入框都将带有一个共同的CSS类,例如currency。
<input class="form-textbox number-only currency" type="text" id="nilai1" required/> <input class="form-textbox number-only currency" type="text" id="nilai2" required/> <input class="form-textbox number-only currency" type="text" id="nilai3" required/> <!-- 您可以根据需要添加更多输入框 -->
这里,currency类是我们的关键标识符,J*aScript将通过这个类来选择所有需要进行货币格式化的输入框。
J*aScript的Intl.NumberFormat对象是实现国际化数字格式化的强大工具。它可以根据指定的语言环境和格式选项,将数字格式化为货币、百分比等形式。我们将创建一个名为formatRupiah的函数,用于将数值格式化为印尼盾(IDR)的货币形式。
/**
* 将数值格式化为印尼盾货币形式。
* @param {number|string} nominal - 待格式化的数值。
* @returns {string} 格式化后的货币字符串。
*/
function formatRupiah(nominal){
return new Intl.NumberFormat('id-ID',
{ style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
).format(nominal);
}在这个函数中:
核心的实时格式化逻辑将通过jQuery的事件监听来实现。我们将监听所有带有currency类的输入框的keyup事件,这意味着每次用户按下并释放键盘按键时,都会触发我们的格式化逻辑。
SONIFY.io
设计和开发音频优先的产品和数据驱动的解决方案
75
查看详情
// 确保在DOM加载完成后执行
$(document).ready(function() {
// 监听所有带有'currency'类的输入框的keyup事件
$('.currency').keyup(function(){
// 'this' 关键字在此处引用了触发事件的特定输入框DOM元素
// 1. 获取输入框的当前值,并清理非数字字符,以便进行数值转换
// 正则表达式`/[^\d]/g`匹配所有非数字字符,并将其替换为空字符串
var numericValue = parseFloat(this.value.replace(/[^\d]/g, ''));
// 2. 验证清理后的值是否是一个有效的数字
if (!isNaN(numericValue)) {
// 3. 如果是有效数字,则使用之前定义的formatRupiah函数进行格式化
var formattedValue = formatRupiah(numericValue);
// 4. 将格式化后的值重新设置回当前输入框
$(this).val(formattedValue);
} else {
// 5. 如果清理后的值不是有效数字(例如用户输入了纯文本),则清空输入框
$(this).val('');
}
});
});关键点解析:
为了使上述代码能够正常工作,请确保在HTML文件中引入了jQuery库。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>实时货币格式化输入框</title>
<!-- 引入jQuery库 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
body { font-family: Arial, sans-serif; padding: 20px; }
input { margin-bottom: 10px; padding: 8px; border: 1px solid #ccc; border-radius: 4px; width: 200px; }
</style>
</head>
<body>
<h1>实时货币金额输入</h1>
<label for="nilai1">金额 1:</label><br>
<input class="form-textbox number-only currency" type="text" id="nilai1" required/><br>
<label for="nilai2">金额 2:</label><br>
<input class="form-textbox number-only currency" type="text" id="nilai2" required/><br>
<label for="nilai3">金额 3:</label><br>
<input class="form-textbox number-only currency" type="text" id="nilai3" required/><br>
<script>
/**
* 将数值格式化为印尼盾货币形式。
* @param {number|string} nominal - 待格式化的数值。
* @returns {string} 格式化后的货币字符串。
*/
function formatRupiah(nominal){
return new Intl.NumberFormat('id-ID',
{ style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
).format(nominal);
}
// 确保在DOM加载完成后执行
$(document).ready(function() {
// 监听所有带有'currency'类的输入框的keyup事件
$('.currency').keyup(function(){
// 获取输入框的当前值,并清理非数字字符
var numericValue = parseFloat(this.value.replace(/[^\d]/g, ''));
// 验证清理后的值是否是一个有效的数字
if (!isNaN(numericValue)) {
// 如果是有效数字,则进行格式化并更新输入框
var formattedValue = formatRupiah(numericValue);
$(this).val(formattedValue);
} else {
// 如果不是有效数字,则清空输入框
$(this).val('');
}
});
});
</script>
</body>
</html>将上述代码保存为HTML文件并在浏览器中打开。当您在任何一个输入框中输入数字时,它将立即被格式化为印尼盾的货币形式。
通过结合J*aScript的Intl.NumberFormat API和jQuery的事件处理能力,我们成功地为多个输入框实现了实时、动态的货币格式化功能。这种方法不仅提升了用户界面的交互性和友好性,也确保了数据输入的规范性和一致性。理解this关键字在事件处理中的作用是解决多元素交互问题的关键。在实际应用中,您可以根据具体需求对格式化逻辑和用户体验进行进一步的优化。
以上就是J*aScript与jQuery实现多输入框实时货币格式化教程的详细内容,更多请关注其它相关文章!
# 是一个
# 精准营销及推广方案设计
# 东莞网站建设源代码
# 外贸推广文章发布类网站
# 道滘整合营销推广
# seo怎样查询
# seo 优化慢
# 南庄网站优化平台
# 办画展推广营销方案策划
# 万科新媒体营销推广
# 小红书店铺营销推广方法
# 选择器
# 或其他
# 这是
# 您可以
# css
# 多个
# 印尼
# 输入框
# 后端
# 工具
# 浏览器
# 正则表达式
# ajax
# git
# js
# html
# jquery
# java
# javascript
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
Composer reinstall命令重装损坏的包
厨房地面防滑垫的油污怎么洗? 机洗和手洗防滑垫的注意事项
VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略
《淘票票》添加到苹果钱包教程
LINUX怎么查看显卡信息_LINUX查看GPU状态
AO3中文入口稳定分享_AO3官网HTTPS看文详解
《豆瓣》私信用户方法
Google Drive API 认证:服务账户与OAuth 2.0的选择与实践
TikTok视频播放中断怎么办 TikTok播放异常修复方法
汽水音乐车机版 汽水音乐车机版官方入口
《植物大战僵尸3》火龙草作用介绍
泰拉瑞亚水晶无法放置问题
构建可配置的J*aScript加权点击计数器与共享总计功能
在VS Code中利用AI辅助进行代码迁移
抖音怎么解除第三方绑定_抖音解除第三方平台绑定方法介绍
PHP魔术方法__set与__isset:设计考量、性能权衡与静态分析的视角
PHP页面重载后变量状态保持:实现用户档案连续浏览的教程
百度地图离线地图无法加载如何解决 百度地图离线地图加载优化方法
小米倒班助手添加日历提醒
教资成绩怎么查询
支付宝网页版在线入口 支付宝官网电脑登录入口
Apple Music无故扣费引质疑
139邮箱登录入口官网 139邮箱登录入口官网网址
iPhone16Plus参数配置如何调整声音_iPhone16Plus参数配置声音调整详细方法
优化Leaflet弹出层图片显示:条件渲染策略
todesk如何添加信任设备_todesk信任设备设置教程
c++如何链接Boost库_c++准标准库的集成与使用
大众点评了却看不到是怎么回事
mysql中如何配置字符集和排序规则_mysql字符集排序配置
百度识图图像分析 百度识图识别平台
偃武诸葛亮阵容搭配推荐
《理想汽车》权限管理设置方法
手机远程连接电脑方法
c++如何实现一个简单的RPC框架_c++远程过程调用原理与实践
BunnyStream TUS视频上传指南:解决401认证错误与参数配置
《大学搜题酱》官网地址登录
圆通快递官网入口查询单号 手机版官方查询入口
PHP odbc_fetch_array 返回值处理:如何正确访问嵌套数组元素
键盘声音异常怎么回事_键盘异响怎么处理
《全民k歌》网页版最新登录入口一览
mysql中如何分析索引使用情况_mysql索引使用分析方法
VB表达式书写规则解析
Highcharts雷达图轴线交点数值标注指南
QQ网页版官方账号登录入口 QQ网页版网页版入口快速导航
基于 Flink 和 Kafka 实现高效流处理:连续查询与时间窗口
ExcelSCAN与LAMBDA如何创建自定义移动平均函数_SCAN实现任意窗口期移动平均计算
性能与资源监视器快捷打开
vivo浏览器怎么离线保存网页 vivo浏览器下载完整页面以便无网络时阅读
《画加》约稿流程
WooCommerce购物车:强制显示所有交叉销售商品教程
2025-10-20
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。