String.prototype.replaceAll = function(s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
}
/**
* 调用的时候必须使用onkeypress事件
* 目前代码为优化,为考虑特殊按键,如<-,tab键等
*
*/
function rep(obj) {
document.getElementById("lb").innerHTML = "";
var new_int;
var old_int = obj.value.replaceAll(",", "");
var len;
// 不能直接输入","符号
if (event.keyCode == 44) {
return false;
}
// 只能数一个小数点
if (event.keyCode == 46) {
if (old_int.indexOf(".") > 0) {
return false;
} else {
// 处理用户在刚好输入四位数字,如123,4后删除最后一位123,直接按下小数点"."
var bool = obj.value.indexOf(",") + 1 == obj.value.length;
if (bool) {
obj.value = obj.value.replace(",", ".");
return false;
}
}
}
//设置 有小数点时格式化的len
if (old_int.indexOf(".") > 0) {
len = old_int.substring(old_int.indexOf("."), old_int.length).length
- 1;
} else {//设置 其他情况格式化的len
len = old_int.length;
}
var t_val = old_int + String.fromCharCode(event.keyCode);
if (!(/^-?\d+\.{0,}\d{0,}$/.test(t_val))) {
document.getElementById("lb").innerHTML = "只能输入数字";
return false;
}
// 根据len判断是否加格式化 (加",")
if ((len > 0) & (len % 3 == 0) & (event.keyCode != 46)) {
if (obj.value.indexOf(",") + 1 != obj.value.length) {
new_int = obj.value + ",";
obj.value = new_int;
}
}
}
/**
* 提交的时候,要获取正确的值,直接替换掉里面的所有","就行
* @param {} obj
*/
function onsubmit(obj) {
alert(obj.value.replaceAll(",", ""));
}
分享到:
相关推荐
在JS中,我们可以使用toLocaleString()方法来实现数字的千分位格式化处理,该方法可以将数字转换为字符串,然后添加逗号分隔符。例如: ```javascript var num = 1450068; console.log(num.toLocaleString()); // 1,...
Numeral.js是一个强大的JavaScript库,专门设计用于数字的格式化和操作。这个库提供了一种简单易用的方式来处理日常的数字格式化需求,无论是显示货币、百分比、科学记数法还是其他各种数字格式,都能轻松应对。在...
**Formance.js插件详解** ...总之,Formance.js是一个强大的jQuery插件,它简化了表单输入的格式化和验证过程,为开发者提供了灵活的配置选项和丰富的内置功能,帮助提升Web应用的质量和用户体验。
Three.js 是一款强大的JavaScript库,专门用于在Web浏览器中创建3D图形。它利用WebGL技术,这是一种基于OpenGL标准的JavaScript API,使开发者能够在没有插件的情况下,在网页中实现交互式的三维图形渲染。Three.js...
1. **日期格式化**:插件允许用户自定义日期的显示格式,例如"YYYY-MM-DD"或"MM/DD/YYYY",当用户在输入框中输入日期时,会实时转换为设定好的格式,防止用户输入错误的日期格式。 2. **手机号码格式化**:对于中国...
1. **任意精度**:Decimal.js可以处理任意长度的十进制数,无论是小数点前后的位数,都能保持精确无误。 2. **创建与初始化**:你可以通过字符串、数字、数组或其他Decimal对象来创建一个新的Decimal实例。例如,`...
大漠插件3.123是一款在IT领域中广泛使用的辅助工具,尤其在网页抓取、数据分析以及网络自动化测试等方面表现出色。该插件以其高效、稳定和易用性著称,为开发者和研究人员提供了强大的功能支持。下面将详细阐述大漠...
1. **实时格式化**: cleave.js 可以在用户输入时即时地对输入内容进行格式化,例如将电话号码以`-`分隔,或者货币以特定符号和小数点表示。 2. **多种数据类型支持**:该库提供了对不同数据类型的内置支持,包括...
此外,`Ext.util.Format`还包括其他与数字相关的函数,如`numberRenderer`,它可以创建一个返回格式化数字的函数,便于在模板或配置中重用。`numberRound`则用于四舍五入数字到指定的小数位数。 总的来说,`Ext....
在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...
在JavaScript(JS)中,处理货币格式的浮点数是一个常见的需求,特别是在电子商务网站和财务应用中。`currency.js` 是一个专为这个目的设计的插件,它可以帮助开发者更方便、更精确地格式化和操作货币数值。下面将...
`js-validator`主要功能在于提供对JavaScript对象和表单输入数据的有效性检查,以确保用户提交的数据符合预设的规则和格式。其轻量级的特性以及对UMD(Universal Module Definition)的支持,使得该库能够方便地在...
这种格式化方法适用于需要对输出的数字进行精确控制的场景,例如财务报告、用户界面显示等。 ### 另一种四舍五入的实现方法 文中还介绍了一种使用循环结构实现的四舍五入方法,即cheng()函数。这个方法与ForDight...
除了基本的算术运算,bignumber.js还支持格式化输出、转换为字符串、小数位数控制等功能,满足复杂的计算需求。 总结来说,bignumber.js是JavaScript开发中处理大数和高精度计算的得力工具。它通过创建一个新的数据...
例如,将数字`123456.789`格式化为美元货币形式`$123,456.79`。 在使用currency.js插件之前,开发者需要将其解压并引入到HTML文件中。这可以通过在页面的`<head>`或`<body>`标签内添加`<script>`标签来完成,确保其...
在Node.js开发中,格式化数字以增加千位分隔符是一种常见的需求,特别是在处理财务数据或者长数字字符串时。这种格式化方式能够让数字更易于阅读和理解。本文将介绍三种在Node.js中实现数字格式化增加千位分隔符的...
1. **数值格式化**:Numeral.js允许用户自定义数字格式,如货币、百分比、科学记数法等。例如,可以轻松地将数字格式化为人民币格式:"¥123,456.78",或者百分比:"12.34%"。 2. **数值操作**:除了格式化,库还...
1. **获取数字**:首先,插件会接收一个未格式化的数字作为输入。 2. **分隔符设定**:允许用户自定义分隔符,比如用逗号、句点或者空格等。 3. **数字拆分**:根据用户设定的分隔符规则,将数字拆分成多个部分。 4....
Bootstrap-table.js 是一个基于Bootstrap框架的前端数据展示插件,它允许用户在网页上创建功能丰富的、可操作的表格。这个插件的核心理念是提供一个简单而强大的方式来展示动态数据,同时保持良好的用户体验和响应式...