JS工具集代码_haley

/* 字符串操作 */

    

//中文月日转为英文

function returnEnglishMonth(str){ var data={ monthEn:["Jan.","Feb.","Mar.","Apr.","May.","June","July","Aug.","Sept","Oct.","Nov.","Dec."], dateEn:["st","nd","rd","th"] }; var month=str.split('月')[0]; var date=str.split('月')[1].split('日')[0]; if(data<4){ date=date+data.dateEn[date]; }else{ date=date+data.dateEn[3]; } return { month:data.monthEn[month], date:date } } console.log(returnEnglishMonth('5月4日'));

// 去掉html标签

function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签 }

// 普通字符转换成转意符

function html2Escape(sHtml) { return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];}); }

// 转意符换成普通字符

function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); }

// &nbsp;转成空格

function nbsp2Space(str) { var arrEntities = {'nbsp' : ' '}; return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]}) }

// 回车转为br标签

function return2Br(str) { return str.replace(/\r?\n/g,"
"); }

// 去除开头结尾换行,并将连续3次以上换行转换成2次换行

function trimBr(str) { str=str.replace(/((\s|&nbsp;)*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次换行 str=str.replace(/^((\s|&nbsp;)*\r?\n)+/g,'');//清除开头换行 str=str.replace(/((\s|&nbsp;)*\r?\n)+$/g,'');//清除结尾换行 return str; }

// 将多个连续空格合并成一个空格

function mergeSpace(str) { str=str.replace(/(\s|&nbsp;)+/g,' '); return str; }

// 不能输入中文

姓名: $('.name').blur(function(){ var v=$(this).val(); console.log(v.search(/[\u4e00-\u9fa5]/)); if(v.search(/[\u4e00-\u9fa5]/)!=-1){ alert('不能输入中文'); } });

// 数字转字母,举例1为A,2为B,依次类推

function num2Letter(num){ if(typeof num == 'number' && num<27 && num>0){ return String.fromCharCode(64 + parseInt(num)) }else{ return "输入数据错误,请检查数据。" } }

// 用来获取url上的参数,获取v的值

/* http://demo.chinabrew-beverage.com/videocn/index.htm?v=7 */ function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null){ return unescape(decodeURI(r[2])); } else { return null; } }
    

// 截取某字符串(含)之前的所有字符串

/* */ var a="/aa/bbbb/cccc/dddd/eee"; function getUrlString(str,current){ var arr=str.split('/') ,index=arr.indexOf(current); if(index!=-1){ return arr.splice(0,index+1).join('/'); }else{ return "path is wrong." } } console.log("点击的路径是 aa:",getUrlString(a,"aa")); console.log("点击的路径是 cccc:",getUrlString(a,"cccc")); console.log("点击的是非法路径 ccc:",getUrlString(a,"ccc"));
    

// js绘制table

var data={ "title":"银行卡支付", "content":[ "中国银行", "招商银行", "兴业银行", "交通银行", "上海浦东发展银行", "中国建设银行", "建行(企业版)", "中国民生银行", "中国光大银行", "中国工商银行", "中国农业银行", "广东发展银行", "中信银行", "宁波银行", "中国工商银行(企业)", "中国农业银行(B2B)", "深圳发展银行", "杭州银行", "上海浦东发展银行(企业版)" ] }, function appendHtmlForTable(config){ var arr=[] ,len=config.data.length ,cols=config.cols ,tdHead=config.tdHead ,tdEnd=config.tdEnd; arr.push('<tbody><tr>'); for(var i=0;i<len;i++){ if(i%cols!=(cols-1)){ arr.push(tdHead+config.data[i]+tdEnd); }else{ arr.push(tdHead+config.data[i]+tdEnd); arr.push('</tr><tr>'); } } // 补充不够整行的单元格,避免最后一行缺一块 for(var j=0;j<cols-i%cols;j++){ arr.push('<td>&nbsp;</td>') } arr.push('</tr</tbody>>'); return arr.join(''); } /* demo示例*/ var dataTableYinhangka={ data:null,//初始化的时候传入 cols:4,//列数 tdHead:'<td><label><input type="radio" name="bank"/>',//头 tdEnd:'</label></td>',//尾 init:function(){ this.data=data.content; // console.log(this.data); } }; dataTableYinhangka.init(); $('#payYinhangka').append(appendHtmlForTable(dataTableYinhangka));

/* 数组操作 */

        

// 数组累积求和

$(function(){ var arr=[0,1,2,3,4];//[0, 1, 3, 6, 10] function arrSum(arr){ var index=1; function changeArr(){ var tmp=arr[index]+arr[index+1]; arr.splice(index+1,1,tmp); index++; } for(var i= 0,len=arr.length;i<len;i++){ changeArr(arr); } arr.pop(); arr.pop(); return arr; } console.log(arrSum(arr)); });
        

//判断两个数组是否相同

$(function(){ var arr1=['aaa','222','333','ddd']; var arr2=['111','222','333','ddd']; function arrCompare(arr1,arr2){ var arrTmp=[],strTmp=''; for(var i= 0,len=arr1.length;i<len;i++){ if(arr1[i]!=arr2[i]){ arrTmp.push('0'); break; }else{ arrTmp.push('1'); } } strTmp=arrTmp.join(''); // console.log(strTmp); if(strTmp.indexOf('0')!=-1){ return 0;//不同 }else{ return 1;//相同 } } if(arrCompare(arr1,arr2)){ console.log('相同'); }else{ console.log('不相同'); } });

// 判断数组是否含有某个字符串

function searchStrFromArr(str,arr){ $.inArray(str, arr); //3 } var arr = [ 4, "Pete", 8, "John" ]; searchStrFromArr("John", arr); //3 searchStrFromArr(4, arr); //0 searchStrFromArr("David", arr); //-1 searchStrFromArr("Pete", arr, 2); //-1

// push改造

//arr push function arrPush(){for(var i= 0,arr=[];i<arguments.length;i++){arr.push(arguments[i]);}return arr;} var h=arrPush( '<h1>你好</h1>' ,'<div>标题</div>' ,'<span>这里是描述信息</span>' ); $(function(){ $('.con').html(h); }); 其实push可以直接这样用: arr.push( '<h1>你好</h1>' ,'<div>标题</div>' ,'<span>这里是描述信息</span>' ); arr.join('');

// 数组乱序

function shuffled(arr){ var res = []; for (var i = 0, len = arr.length; i < len; i++) { var j = Math.floor(Math.random() * arr.length); res[i] = arr[j]; debugger; arr.splice(j, 1); } return res; }

/* dom */


// 动态加载js

function loadJs(src){ var oHead = document.getElementsByTagName('HEAD').item(0); var oScript= document.createElement("script"); oScript.type = "text/javascript"; oScript.src=src; oHead.appendChild(oScript); }

// scroll

$(window).scroll(function() { if($(document).scrollTop()>100){ /* do some thing */ }else{ /* do other some thing */ } });
    

滚动获取top值

$(window).scroll(function() { console.log($(window).scrollTop()); });

// 通过宽和宽高比计算高度

function getHFromWidth(w,w_h){ return w/w_h; }

// 360浏览器兼容模式判断

$(function(){ if (window.navigator.userAgent.indexOf('SLCC2') != -1) { alert('360兼容模式') } });

自定义log

function log(arg,funName){ funName =funName||arguments.callee.caller.name; console.log(funName+':',arg); } var a=12343; function aa(arg){ log(arg); } aa(a);