`
henjue
  • 浏览: 7899 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JS在用户输入的时候格式化数字为财务数字,如"123,123,1.123,1"

阅读更多
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(",", ""));
}

 

分享到:
评论

相关推荐

    finereport格式化金额函数js中进行数字超大金额千位符格式化处理.docx

    在JS中,我们可以使用toLocaleString()方法来实现数字的千分位格式化处理,该方法可以将数字转换为字符串,然后添加逗号分隔符。例如: ```javascript var num = 1450068; console.log(num.toLocaleString()); // 1,...

    Numeral.js一个用于格式化和操作数字的JavaScript库

    Numeral.js是一个强大的JavaScript库,专门设计用于数字的格式化和操作。这个库提供了一种简单易用的方式来处理日常的数字格式化需求,无论是显示货币、百分比、科学记数法还是其他各种数字格式,都能轻松应对。在...

    Formance.js.zip

    **Formance.js插件详解** ...总之,Formance.js是一个强大的jQuery插件,它简化了表单输入的格式化和验证过程,为开发者提供了灵活的配置选项和丰富的内置功能,帮助提升Web应用的质量和用户体验。

    Three.js123

    Three.js 是一款强大的JavaScript库,专门用于在Web浏览器中创建3D图形。它利用WebGL技术,这是一种基于OpenGL标准的JavaScript API,使开发者能够在没有插件的情况下,在网页中实现交互式的三维图形渲染。Three.js...

    jQuery文本输入框内容格式化代码.zip

    1. **日期格式化**:插件允许用户自定义日期的显示格式,例如"YYYY-MM-DD"或"MM/DD/YYYY",当用户在输入框中输入日期时,会实时转换为设定好的格式,防止用户输入错误的日期格式。 2. **手机号码格式化**:对于中国...

    前端项目-decimal.js.zip

    1. **任意精度**:Decimal.js可以处理任意长度的十进制数,无论是小数点前后的位数,都能保持精确无误。 2. **创建与初始化**:你可以通过字符串、数字、数组或其他Decimal对象来创建一个新的Decimal实例。例如,`...

    大漠插件3.123

    大漠插件3.123是一款在IT领域中广泛使用的辅助工具,尤其在网页抓取、数据分析以及网络自动化测试等方面表现出色。该插件以其高效、稳定和易用性著称,为开发者和研究人员提供了强大的功能支持。下面将详细阐述大漠...

    cleavejs当你输入时自动格式化输入的文本内容

    1. **实时格式化**: cleave.js 可以在用户输入时即时地对输入内容进行格式化,例如将电话号码以`-`分隔,或者货币以特定符号和小数点表示。 2. **多种数据类型支持**:该库提供了对不同数据类型的内置支持,包括...

    ExtJs4.0 使用心得@1 Ext.util.Format.Number()

    此外,`Ext.util.Format`还包括其他与数字相关的函数,如`numberRenderer`,它可以创建一个返回格式化数字的函数,便于在模板或配置中重用。`numberRound`则用于四舍五入数字到指定的小数位数。 总的来说,`Ext....

    JavaScript数字格式化函数

    在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...

    JS处理货币格式浮点数插件currency.js.zip

    在JavaScript(JS)中,处理货币格式的浮点数是一个常见的需求,特别是在电子商务网站和财务应用中。`currency.js` 是一个专为这个目的设计的插件,它可以帮助开发者更方便、更精确地格式化和操作货币数值。下面将...

    validator.js-2.0.0.zip

    `js-validator`主要功能在于提供对JavaScript对象和表单输入数据的有效性检查,以确保用户提交的数据符合预设的规则和格式。其轻量级的特性以及对UMD(Universal Module Definition)的支持,使得该库能够方便地在...

    Javascript四舍五入Math.round()与Math.pow()使用介绍

    这种格式化方法适用于需要对输出的数字进行精确控制的场景,例如财务报告、用户界面显示等。 ### 另一种四舍五入的实现方法 文中还介绍了一种使用循环结构实现的四舍五入方法,即cheng()函数。这个方法与ForDight...

    bignumber.js-master.zip

    除了基本的算术运算,bignumber.js还支持格式化输出、转换为字符串、小数位数控制等功能,满足复杂的计算需求。 总结来说,bignumber.js是JavaScript开发中处理大数和高精度计算的得力工具。它通过创建一个新的数据...

    网页模板——JS处理货币格式浮点数插件currency.js.zip

    例如,将数字`123456.789`格式化为美元货币形式`$123,456.79`。 在使用currency.js插件之前,开发者需要将其解压并引入到HTML文件中。这可以通过在页面的`&lt;head&gt;`或`&lt;body&gt;`标签内添加`&lt;script&gt;`标签来完成,确保其...

    node.js中格式化数字增加千位符的几种方法

    在Node.js开发中,格式化数字以增加千位分隔符是一种常见的需求,特别是在处理财务数据或者长数字字符串时。这种格式化方式能够让数字更易于阅读和理解。本文将介绍三种在Node.js中实现数字格式化增加千位分隔符的...

    Numeral-js-master.zip_numeral.js

    1. **数值格式化**:Numeral.js允许用户自定义数字格式,如货币、百分比、科学记数法等。例如,可以轻松地将数字格式化为人民币格式:"¥123,456.78",或者百分比:"12.34%"。 2. **数值操作**:除了格式化,库还...

    jQuery数字格式化分隔符代码

    1. **获取数字**:首先,插件会接收一个未格式化的数字作为输入。 2. **分隔符设定**:允许用户自定义分隔符,比如用逗号、句点或者空格等。 3. **数字拆分**:根据用户设定的分隔符规则,将数字拆分成多个部分。 4....

    BootStrap-table.js 官网下载

    Bootstrap-table.js 是一个基于Bootstrap框架的前端数据展示插件,它允许用户在网页上创建功能丰富的、可操作的表格。这个插件的核心理念是提供一个简单而强大的方式来展示动态数据,同时保持良好的用户体验和响应式...

Global site tag (gtag.js) - Google Analytics