JavaScript对INPUT输入的格式化显示 - 数字每隔3位加逗号

简介:

<script>

function cc(s){

s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return s.replace(/^\./,"0.")
}

</script>

<input type="text" name="amount" onchange="this.value=cc(this.value)">

以上代码可以为INPUT中的输入数字每隔3位加上逗号。

在做的一个银行项目中,他们的录入习惯是不加小数点,这样需要代码自动加上小数点和逗号,以前用过正则表达式,时间长差不多都忘了。上面的源码如果用正则表达式可以实现加小数点和逗号的功能,但是着急实现,所以只能用字符串操作来实现了,修改后的代码如下:

<script>
function cc(s){

decimal=s.substr(s.length-2);
s=Math.floor(s/100).toString();
s=s.replace(/^(\d*)$/,"$1.");
s=s.replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
s=s.replace(/^\./,"0.");
return s.substr(0,s.length-1)+"."+decimal;
}


</script>

<input type="text" name="amount" onchange="this.value=cc(this.value)">

 



本文转自gaofeng36599 51CTO博客,原文链接:http://blog.51cto.com/786678398/1408897

相关文章
|
1月前
|
JavaScript
uni-app中关于格式化时间的js文件
uni-app中关于格式化时间的js文件
30 0
|
2月前
|
前端开发 JavaScript 算法
轻松实现数字格式化:JavaScript 中的千分位分隔技巧大揭秘
轻松实现数字格式化:JavaScript 中的千分位分隔技巧大揭秘
73 0
|
15天前
|
JSON JavaScript 前端开发
设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
|
5月前
|
JavaScript
js通过input框输入属性和值,改变div的属性
js通过input框输入属性和值,改变div的属性
75 0
|
5月前
|
JavaScript 前端开发
JavaScript实现input框获取系统默认年月日时分秒
JavaScript实现input框获取系统默认年月日时分秒
125 0
|
2月前
|
JavaScript
js将数组转为字符串用逗号隔开,字符串转数组
js将数组转为字符串用逗号隔开,字符串转数组
25 1
|
2月前
|
JavaScript 前端开发
JavaScript 计算时间差并格式化输出
JavaScript 计算时间差并格式化输出
19 0
|
3月前
|
JavaScript 算法
JS中如何对<input type=“data“>中值进行运算(JS日期类型如何进行加减)
JS中如何对<input type=“data“>中值进行运算(JS日期类型如何进行加减)
26 0
|
4月前
|
JavaScript 前端开发
JavaScript 获取 input 输入框内容的几种方法
JavaScript 获取 input 输入框内容的几种方法
60 0
|
5月前
|
JavaScript API
js日期、经纬度格式化
js日期、经纬度格式化
35 0