js 实现千分数分割(1000,分割后的结果为1,000)
问题:客户输入1000,自动就分1,000,边输入边分割.
边输入变分割好办 直接使用onkeyup 触发我们的function就可以了,分割比较麻烦
我写的代码如下:
<script language="JavaScript">
function toFormant(obj)
{
var numstr = obj.value;
var num =numstr.replace(/,| /g,"");
if(num.length>1)
{
num = num.replace(/\b[0*]/g,"");
}
if(!num.match(/[^0-9]/g))
{
//alert(num);
var a = new Array();
if(num.length>3)
{
for(i=num.length;i>0;i=i-3)
{
a.push(num.substring(i-3,i));
}
obj.value=a.reverse().join(",");
}
else
{
obj.value = num.replace(/,/g,"");
}
}
else
{
alert("NOT A No.");
}
}
</script>
论坛里面的一个大牛的代码如下:
<script language="javascript">
function show(obj)
{
obj.value=obj.value.replace(/,/g,"")
if(/^[1-9]\d*$/.test(obj.value))
obj.value = obj.value.replace(/(?=(?!\b)(?:\d{3})+(?!\d))/g,',');
}
</script>
哎,还是很有差距的啊,继续努力吧,记录+自勉下
边输入变分割好办 直接使用onkeyup 触发我们的function就可以了,分割比较麻烦
我写的代码如下:
<script language="JavaScript">
function toFormant(obj)
{
var numstr = obj.value;
var num =numstr.replace(/,| /g,"");
if(num.length>1)
{
num = num.replace(/\b[0*]/g,"");
}
if(!num.match(/[^0-9]/g))
{
//alert(num);
var a = new Array();
if(num.length>3)
{
for(i=num.length;i>0;i=i-3)
{
a.push(num.substring(i-3,i));
}
obj.value=a.reverse().join(",");
}
else
{
obj.value = num.replace(/,/g,"");
}
}
else
{
alert("NOT A No.");
}
}
</script>
论坛里面的一个大牛的代码如下:
<script language="javascript">
function show(obj)
{
obj.value=obj.value.replace(/,/g,"")
if(/^[1-9]\d*$/.test(obj.value))
obj.value = obj.value.replace(/(?=(?!\b)(?:\d{3})+(?!\d))/g,',');
}
</script>
哎,还是很有差距的啊,继续努力吧,记录+自勉下