求教一个分割数字的正则表达式 现在有个想法,把一个数字分割成像银行的那些金额数字一样显示。比如:有个数字是12345678,分割后的显示就是,12,345,678这样的,每3位数加上一个逗号分割符。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在csdn里搜一下都能搜到一堆~~~! http://so.csdn.net/search?t=thread&q=%E9%87%91%E9%A2%9D%20%E9%80%97%E5%8F%B7 <script>function onKeyPrice(t) { var stmp = ""; if(t.value==stmp) { return; } var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1").replace(/^0+([1-9])/,"$1").replace(/^0+$/,"0"); var txt = ms.split("."); while(/\d{4}(,|$)/.test(txt[0])) { txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2"); } t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:""); } </script><input type="text" name="amount" onkeyup="onKeyPrice(this)"> var a = '12345678'; document.write(a.replace(/(.{1,3})/g,'$1,')); 链接。。http://topic.csdn.net/u/20120424/11/ca009bde-427e-41ae-9773-89c3b645a00d.html //整理了一下,写成函数形式了function addComma(n) { var ar = n.toString().split('').reverse(); var result = []; for (var i = 0; i < ar.length; i ++) (i + 1) % 3 == 0 && i < ar.length - 1 ? result.push(',' + ar[i]) : result.push(ar[i]); return result.reverse().join('');}alert(addComma(123456789)); 很简单的正向预查:"12345678".replace(/.(?=(...)+$)/g, "$&,") a.replace(/(.{3})/g, '$1,').replace(/\,$/g,'') 嗯,是的,这种计数方法是错误的,已经结贴了,prototyper,马甲和calmcrime都可以,不过prototyper的最简单,感谢各位的耐心解答,, clearInterval 子页面中失效 非常奇怪的现象,请高手进来看看 为什么在firefox中没有作用呢,请大家帮帮忙啊,谢谢! js模仿google自动完成功能 请教各位大侠能怎么样能实现??? 请教JQUERY如何实现这样效果 有没有在WEB上自己画页面的好办法? 请问如何在打开新窗口的同时关闭opener窗口? 返回值到主父窗口的select的问题 求一个具有一定数据处理功能的 JS TABLE 插件 highCharts能支持拖拽吗??紧急求助 nodejs 如何返回数据,ajax 可以接收到
<script>
function onKeyPrice(t)
{
var stmp = "";
if(t.value==stmp)
{
return;
}
var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1").replace(/^0+([1-9])/,"$1").replace(/^0+$/,"0");
var txt = ms.split(".");
while(/\d{4}(,|$)/.test(txt[0]))
{
txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2");
}
t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:"");
} </script>
<input type="text" name="amount" onkeyup="onKeyPrice(this)">
document.write(a.replace(/(.{1,3})/g,'$1,'));
http://topic.csdn.net/u/20120424/11/ca009bde-427e-41ae-9773-89c3b645a00d.html
function addComma(n) {
var ar = n.toString().split('').reverse();
var result = [];
for (var i = 0; i < ar.length; i ++) (i + 1) % 3 == 0 && i < ar.length - 1 ? result.push(',' + ar[i]) : result.push(ar[i]);
return result.reverse().join('');
}
alert(addComma(123456789));