JavaScript对INPUT输入的格式化显示 - 数字每隔3位加逗号
2011-09-21 08:49
387 查看
转自:http://www.lanrentuku.com/js/form-31.html
<script>
function cc(s){
/* if(/[^0-9\.]/.test(s)) return 0;*/
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){
/* if(/[^0-9\.]/.test(s)) return 0;*/
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)">
<script>
function cc(s){
/* if(/[^0-9\.]/.test(s)) return 0;*/
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){
/* if(/[^0-9\.]/.test(s)) return 0;*/
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)">
相关文章推荐
- JavaScript对INPUT输入的格式化显示 - 数字每隔3位加逗号
- input只能输入数字,格式化数值的显示
- 数字金额每隔3位加逗号的功能函数
- 『JavaScript』限制Input只能输入数字实现思路及代码
- javascript控制input只允许输入数字
- JavaScript格式化数字显示格式
- 『JavaScript』如何限制 Input 只能输入数字
- 正则表达式-数字每隔3位加入逗号
- 【JAVA编程题】现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
- 数字格式化为金额格式 (3位一个逗号隔开)
- 页面文本框限制输入数字,小数以及将数字转换成3位一逗号的数字
- JavaScript格式化数字显示格式
- JS 数字格式化为金额格式 (3位一个逗号隔开)
- javascript 限制input只允许输入数字
- javascript input标签 控制只允许输入数字代码
- javascript正则表达式控制input只能输入数字
- 用逗号每3位分割数字的javascript代码
- 数字格式化,从右往左每隔三位加逗号(利用递归)
- input文本输入框所有用法 文字显示 点击选框编辑 文本框变色 只能输入中文、英文、数字 只读状态 不能黏贴
- 『JavaScript』限制Input只能输入数字实现思路及代码