liangcmwn

Javascript控制数字每三位用逗号分隔

<script language="javascript">
function maskNumber(p_number, p_type) {

    p_number = p_number.replace(/[^\d]/g,'');

    if(p_type == 'i') return processInt(p_number);
    else if(p_type == 'f') {
        if(p_number.indexOf('.')) {
            var arr = new Array();
            arr = p_number.split('.');
            var intpart = processInt(arr[0]);
            var decpart = processDec(arr[1]);
            if(intpart != '') return intpart + decpart;
            else return '';
        }

        else return '';
    }

}
function processDec(p_dec) {
    if(p_dec == undefined || p_dec == '') return '.00';
    else return '.' + p_dec.substr(0,2);
}
function processInt(p_number) {
    var arr = new Array();
    var numlen = p_number.length;
    var r = 0;
    for(var i = 0; i < numlen; i++) {
        if(p_number.charAt(i) == ',' || p_number.charAt(i) == '') continue;
        else {
            arr[r++] = p_number.charAt(i);
        }
    }
    var strarr = new Array();
    var newarr = arr.reverse();
    var j = 0;
    var k = 0;
    for(var x in newarr) {
        strarr[k++] = newarr[x];
        if(++j == 3) {
            strarr[k++] = ',';
            j = 0;
        }
    }
    var newstr = strarr.reverse();
    var str = '';
    for(var x in newstr) {
        str += newstr[x];
    }
    if(r % 3 == 0) {
        return str.substr(1, str.length);
    } else {
        return str;
    }
}
function unMaskNumber(p_number) {
    var str = '';
    var numlen = p_number.length;
    var r = 0;
    for(var i = 0; i < numlen; i++) {
        if(p_number.charAt(i) == ',' || p_number.charAt(i) == '') continue;
        else {
            str += p_number.charAt(i);
        }
    }
    return str;
}
</script>
<input type='text' value='' onKeyUp='javascript:this.value=maskNumber(this.value, "i")'/>

posted on 2011-07-07 19:53 liangcmwn 阅读(622) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: