js自定义实用函数总结

//通用请求入口
function commonReq(options){
 var url   = options.url || '';
 var type        = options.type|| 'get';
 var data  = options.data|| {};
 var dataType = options.dataType || 'json';
 var callbackFn = options.callbackFn || ''; 
 $.ajax({
  url : url,
  type: type,
  data: data,  
  dataType : dataType,
  beforeSend:function(){loadMack({off:'on'})},  
  complete  :function(){loadMack({off:'off'})},
  success   :function(msg){
     if(callbackFn){
      callbackFn.call(null, msg);
      }
  }
 });
}

/**
 * 取得字符串的长度,中文字符:若是UTF-8表示三个字节,GBK或GB2312表示2个字节
 * @param str 传入的字符串
 * @param charset 默认 UTF-8
 * @returns
 */
function getStrLength(str, charset) {
   charset  = charset || 'UTF-8';
   var cnWordLen = charset.toUpperCase() == 'UTF-8' ? 3 : 2;
   var i,sum;
   sum=0;
   for(i=0;i<str.length;i++) { 
     if ((str.charCodeAt(i)>=0) && (str.charCodeAt(i)<=255)) {
       sum=sum+1;
     }else {
       sum=sum+cnWordLen;
     }
   }
   return sum; 
}


/**
 * 得到字符串的长度,中文字符:若是UTF-8表示三个字节,GBK或GB2312表示2个字节
 * @param str  传入的字符串
 * @param charset 默认 UTF-8
 * @returns
 */
function getStrByteLength(str, charset){ 
   charset  = charset || 'UTF-8';
   var cnWordLen = charset.toUpperCase() == 'UTF-8' ? 3 : 2;
   var Zhlength=0;// 全角
   var Enlength=0;// 半角
    
   for(var i=0;i<str.length;i++){
          if(str.substring(i, i + 1).match(/[^\x00-\xff]/ig) != null)
          Zhlength+=1;
          else
          Enlength+=1;
   }
   // 返回当前字符串字节长度
  return (Zhlength*cnWordLen)+Enlength;
 }

 

//把字符串首字母转为大写并返回
function wordFirstUpper(str){
 var len = str.length;
 var tmp = '';
 for(var i=0;i<len;i++){
  if(i==0){
   tmp += str[i].toUpperCase();
  }else{
   tmp += str[i];
  }
  
 }
 return tmp;
}

//js日期格式化:时间戳转换为年月日时分秒
cache.ltime = new Date(parseInt(info.created_time)*1000).toLocaleString().replace(/[年月]/g,'/').replace(/[日]/g,'');

posted on   andydaopeng  阅读(182)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)

导航

< 2013年5月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示