formatData

//解决传入0 格化后不返回空的问题
function formatAmountValueNew(objValue,flag)
 {
  if(objValue!="" && objValue!=null)
  { 
   if(flag==0)
   {
    // 验证输入金额数值或数值字符串:
    return objValue.toString().replace(/,/g, "");
   }
   else
   {
    
    return  convertAmount(objValue);
   }
  }
  return '0';
 }
//格式化值,0为格式还原,1为格式操作
function formatAmountValue(objValue,flag)
 {
  if(objValue!="" && objValue!=null)
  { 
   if(flag==0)
   {
      // 验证输入金额数值或数值字符串:
    return objValue.toString().replace(/,/g, "");
   }
   else
   {
    
    return  convertAmount(objValue);
   }
  }
  return "0.00";
 }
 
//进行格式转换
function convertAmount(objValue)
{
 if(objValue!=null)
 {
  //alert("1:"+objValue);
  objValue=objValue.toString();
  var temp = objValue.toString();
  if(objValue!="")
  {
   //alert("2:"+objValue);
   objValue=objValue.replace(/,/g, "");
   if(isNaN(objValue))
   {
    return temp;
   }
   return formatNumData(objValue,2);
//   objValue =parseFloat(objValue).toLocaleString();
//   //解决.13问题
//   if(objValue.indexOf(".")==0)
//   {
//    // 验证输入金额数值或数值字符串:
//    objValue = 0+parseFloat(objValue).toLocaleString();
//   }
//   else if(objValue.indexOf("-")==0&&objValue.indexOf(".")==1)
//   {
//    //当输入-0.5的时候返回-0.50
//    objValue = "-0"+objValue.substring(1);
//   }
//   return objValue;
  }
 }
 return "0.00";
}
 
//数字,自动转换成有千分位的形式 num--数字 , digit 保留小数位   将数字转换成三位逗号分隔的样式  
function formatNumData(num, digit) {
 if (!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)) {
  return "0.00";
 }
 var result=Number(num).toFixed(digit);
 var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;
 //var re = new RegExp().compile("/(\d{1,3})(?=(\d{3})+(?:$|\.))/g");
 var re=/(\d{1,3})(?=(\d{3})+(?:$|\.))/g;
 
 while (re.test(b)) {
  //b = b.replace(re, "$1,$2$3");
  result = result.replace(re, "$1,");
 }
 
 /*
 if (c && digit && new RegExp("^.(\\d{" + digit + "})(\\d)").test(c)) {
  if (RegExp.$2 > 4) {
   c = (parseFloat(RegExp.$1) + 1) / Math.pow(10, digit);
  } else {
   c = "." + RegExp.$1;
  }
 }
 var result = a + "" + b + "" + (c + "").substr((c + "").indexOf("."));
 if (result.indexOf(".") < 0) {
  result += ".00";
 }
 if(result.substring(result.indexOf("."),result.length-1).length==1){
  result+="0";
 }
 */
 return result;
}    


//格式化多行金额
function formatCommonObjs(obj,flag,target)
{
 if(obj!=null)
 {
  //解决单个对象操作的数组问题
  if(typeof(obj.length)=="undefined")
  {
   var newArray=new Array();
   newArray.push(obj);
   obj=newArray;
  }
  for(var i=0;i<obj.length;i++)
  {
   formatCommonObj(obj[i],flag,target);
  }
 }
}
//格式化表头金额
function formatCommonObj(obj,flag,target)
{
 if(obj!=null)
 {
  for(var i=0;i<target.length;i++)
  {
   
   formatSubObj(obj,flag,target[i]);
  }
 }
}
//格式化金额对象,0为格式还原,1为格式操作
function formatSubObj(obj,flag,target)
{
 if(flag==0)
 {
  if(obj[target] != undefined){
   var v = obj[target] + "";
   obj[target] = v.replace(/,/g, "");
  }
 }
 else
 {
  if(obj[target] != undefined){
   obj[target] = convertAmount(obj[target]);
  }
 }
}

/*格式化浮点型数据,转换成整型
tab_id:行表tableID
input_id:要格式化的字段id
td_num:如果要格式化的字段没有id时,取字段的列数
*/
function formatNum(tab_id,input_id,td_num)
{      
    var tab_id = tab_id + "_ssb";
 var obj = document.getElementById(tab_id);    
 for(var i=1;i<obj.rows.length;i++)
 {
  var tr = obj.rows[i];
  if(td_num != null)
  {
   var td_text = tr.cells[td_num].firstChild;
   if(td_text != null)
   {
    var value = td_text.nodeValue;
    if(value.indexOf("."))
    {
     var arr = value.split(".");     
     td_text.nodeValue = arr[0];
    }
   }    
  }
  else if(input_id != null)
  {    
   var input = tr.getElementsByTagName("input");
   for(var j=0;j<input.length;j++)
   {
    var id = input[j].getAttribute("id");
    if(id.indexOf(input_id) > -1)
    {       
     var value = input[j].getAttribute("value");      
     if(value.indexOf(".") > -1)
     {                
      var arr = value.split(".");       

   
      input[j].setAttribute("value",arr[0]); 
      
     }
    }
   }
  }
 }
}
/*
**第三步取check_unit
*/
function getCheckUnit()
{
  var checkUnit = document.getElementById('checkUnit').value; 
  
 return checkUnit;
}
//转特别字符
function converSpeChar(str){
     var RexStr = /\<|\>|\"|\'|\&/g ;
       str = str.replace(RexStr,
          function(MatchStr){
              switch(MatchStr){
                  case "<":
                      return "& lt;";
                      break;
                  case ">":
                      return "& gt;";
                      break;
                  case "\"":
                      return "& quot;";
                      break;
                  case "'":
                      return "& #39;";
                      break;
                  case "&":
                      return "& amp;";
                      break;
                  default :
                      break;
              }
          }
      )
     return str;
  }

转载于:https://www.cnblogs.com/yiissu/archive/2012/05/11/2495842.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值