1滚动条始终保持在底部
obj.scrollTop = obj.scrollHeight;
2时间转换一位转两位
function toTwo(time){ if(time<10){ return '0'+time; }else{ return ''+time; } }
3字符串转十六进制
function stringToHex(str){ var val=""; for(var i = 0; i < str.length; i++){ val += (str.charCodeAt(i).toString(16)+' '); } return val; }
function stringToHex(str){ var val=""; for(var i = 0; i < str.length; i++){ var hex = str.charCodeAt(i).toString(16); var lng = hex.length; if(lng==1){ hex = '0'+hex; } val += hex+' '; } return val; }
4十六进制转字符串
function hexToString(str){ var lng = str.length; // 如果最后一位是空格就删除 if(str.substring(lng-1,lng)==" "){ str = str.substring(0,lng-1); } var val=""; var arr = str.split(" "); for(var i = 0; i < arr.length; i++){ val += String.fromCharCode(parseInt(arr[i],16)); } return val; }
function hexToString(str){ // 移除头尾空白 str = str.trim(); var val=""; var sval=""; var arr = str.split(''); // 循环去除空格 for(var i = 0; i < arr.length; i++){ if(arr[i]!=' '){ sval += arr[i] } } var lng = sval.length; if(lng%2==1){ sval = sval.substring(0,lng-1)+'0'+sval.substring(lng-1,lng); } for(var j=0;j<sval.length;j+=2){ val += String.fromCharCode(parseInt(sval.substring(j,j+2),16)); } return val; }
5生成n位随机字母
function getRand(){ var arr = []; var rannum = Math.ceil(Math.random() * 10); //生成一个0到10的数字 for(var i=0;i<rannum;i++){ var ranNum = Math.ceil(Math.random() * 25); //生成一个0到25的数字 arr.push(String.fromCharCode(97+ranNum)); } return arr.join(''); }
6时间戳转换日期
var UnixToDate = function(unixTime, isFull) { var time = new Date(unixTime); var ymdhis = ""; function toTwo(n){ if(n<10){ return '0'+n; }else{ return ''+n; } }; ymdhis += time.getFullYear() + "/"; ymdhis += (toTwo(time.getMonth()+1)) + "/"; ymdhis += toTwo(time.getDate()); if (isFull === true) { ymdhis += " " + toTwo(time.getHours()) + ":"; ymdhis += toTwo(time.getMinutes()) + ":"; ymdhis += toTwo(time.getSeconds()); } return ymdhis; }
- unixTime:参数类型(int) 时间戳(毫秒)
- isFull:参数类型(bool) true返回完整时间(Y-m-d H:i:s),false返回日期(Y-m-d)
7获取两个日期的天数差
function GetDateDiff(startDate,endDate){ var startTime = new Date(Date.parse(startDate.replace(/-/g,"/"))).getTime(); var endTime = new Date(Date.parse(endDate.replace(/-/g,"/"))).getTime(); var dates = Math.abs((startTime - endTime))/(1000*60*60*24); return dates; }
8根据年月获得当月天数
function getDaysInMonth(year,month){ month = parseInt(month,10); //parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。 var temp = new Date(year,month,0); return temp.getDate(); }
9遍历开始和结束时间的具体天数
function getDateList(startDate,endDate){ var startTimeDate = new Date(Date.parse(startDate.replace(/-/g,"/"))); var startTime = startTimeDate.getTime(); var endTimeDate = new Date(Date.parse(endDate.replace(/-/g,"/"))); var endTime = endTimeDate.getTime(); var dateList = []; for (var i = startTime; i <= endTime; i=i+1000*60*60*24) { var date = new Date(i); dateList.push(date.getFullYear()+'年'+(date.getMonth()+1)+'月'+date.getDate()+'日'); } return dateList; }
10获取地址栏参数
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
// search得到的是url中?部分,substr()返回一个从指定位置开始的指定长度的子字符串,这里设置为1,是为了把url中的?号去掉
var r = window.location.search.substr(1).match(reg);
if(r!=null){
return unescape(r[2]);
}
return null;
}
11自己封装的cookie方法
// 设置cookie function setCookie(name,value,iDay){ var oDate=new Date(); oDate.setDate(oDate.getDate()+iDay); // 加密 var str = ''; for (var i = 0; i < value.length; i++) { str += String.fromCharCode(value.charCodeAt(i)-500); } document.cookie=name+'='+str+';expires='+oDate; }; // 获取cookie function getCookie(name){ var arr1=document.cookie.split('; '); for (var i = 0; i < arr1.length; i++) { var arr2=arr1[i].split('='); if(arr2[0]==name) { // 解密 var str = ''; for (var i = 0; i < arr2[1].length; i++) { str += String.fromCharCode(arr2[1].charCodeAt(i)+500); } return str; } } return '';//如果没有找到返回空 }; // 删除cookie function removeCookie(name){ setCookie(name,1,-1); };
12全选与全不选
function jQueryCheckAll() { var checkAll = $('#s-all'); var items = $('#list :checkbox'); checkAll.click(function () { if ($(this).prop('checked')) { items.each(function () { $(this).prop('checked', true); }) } else { items.each(function () { $(this).prop('checked', false); }) } items.click(function () { checkAll.prop("checked", items.length == $('#list :checkbox:checked').length ? true : false); }); }) }
13时间在一个小时内换成多少分钟前
function getDateDiff(dateTimeStamp){ var UnixToDate = function(unixTime, isFull) { var time = new Date(unixTime); var ymdhis = ""; function toTwo(n){ if(n<10){ return '0'+n; }else{ return ''+n; } }; ymdhis += time.getFullYear() + "/"; ymdhis += (toTwo(time.getMonth()+1)) + "/"; ymdhis += toTwo(time.getDate()); if (isFull === true){ ymdhis += " " + toTwo(time.getHours()) + ":"; ymdhis += toTwo(time.getMinutes()) + ":"; ymdhis += toTwo(time.getSeconds()); } return ymdhis; } var minute = 1000 * 60; var now = new Date().getTime(); var diffValue = now - dateTimeStamp; if(diffValue < 0){ return; } var minC =diffValue/minute; console.log(minC); var result if(minC<1){ result = "刚刚"; }else if(minC>=1&&minC<=59){ result = ""+ parseInt(minC) +"分钟前"; }else{ result = UnixToDate(dateTimeStamp,true) } return result; }
14在数组对象内根据key值找对应的value
function changeValue(val,value,label,arr){ var obj = {}; obj = arr.find(function(item){ return item[value] === val; }); return obj[label]; }
15字符串转16进制
function stringToHex(str){ var val=""; for(var i = 0; i < str.length; i++){ val += str.charCodeAt(i).toString(16); } return val; }
16 16进制转字符串
// // 十六进制转字符串 function hexToString(str){ // 移除头尾空白 str = str.trim(); var val=""; var sval=""; var arr = str.split(''); console.log(arr) for(var i = 0; i < arr.length; i++){ if(arr[i]!=' '){ sval += arr[i] } } for(var j=0;j<sval.length;j+=2){ val += String.fromCharCode(parseInt(sval.substring(j,j+2),16)); } return val; } str = ' 6b6b '; console.log(hexToString(str))
16根据当前月份计算最近的月份
function getLatelyMonth(n){ // var monthOfYear = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; // 或者中文,根据你的需求自己定 var monthOfYear = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']; var date = new Date(); // 月份数组 var nearThree = []; // 当月 var month = date.getMonth(); // 现将本月推入数组 nearThree.push(monthOfYear[month]); for (var i = 1; i < n; i++) { date.setMonth(month - i); nearThree.unshift(monthOfYear[date.getMonth()]); } return nearThree; }
17根据月份推算相对应的日期
var arrM1 = ["十一月", "十二月", "一月", "二月", "三月", "四月"]; var arrM2 = ["一月", "二月", "三月", "四月"]; var arrM3 = ["二月", "三月", "四月"]; console.log(arrM1.indexOf('一月')); console.log(arrM2.indexOf('一月')); console.log(arrM3.indexOf('一月')); function startoend(arr){ function turnToArr(str){ switch (str) { case '一月': str = 1; return str; break; case '二月': str = 2; return str; break; case '三月': str = 3; return str; break; case '四月': str = 4; return str; break; case '五月': str = 5; return str; break; case '六月': str = 6; return str; break; case '七月': str = 7; return str; break; case '八月': str = 8; return str; break; case '九月': str = 9; return str; break; case '十月': str = 10; return str; break; case '十一月': str = 11; return str; break; default: str = 12; return str; } } var numMonth = []; for (var i = 0; i < arr.length; i++) { numMonth[i] = turnToArr(arr[i]) } console.log(numMonth); var index = arr.indexOf('一月'); var date=new Date; var year=date.getFullYear(); if(index>0){ var date = year-1+'.'+numMonth[0]+'—'+year+'.'+numMonth[arr.length-1] return date }else{ var date = year+'.'+numMonth[0]+'—'+year+'.'+numMonth[arr.length-1] return date } } console.log(startoend(arrM1)); console.log(startoend(arrM2)); console.log(startoend(arrM3));
18.字符串转Unicode,Unicode转字符
function toUnicode(str){ var unicodearr = [] for (var i = 0; i < str.length; i++) { unicodearr.push(str.charCodeAt(i)) } return unicodearr.join(',') }
function toStr(str) {
var arr = str.split(',')
var res = ''
for (var i = 0; i < arr.length; i++) {
res+=String.fromCharCode(arr[i])
}
return res
}
19生成范围的随机数
// min:最小值 max:最大值 num:生成几个 dec保留几位小数
function randomNum(min,max,num,dec) {
let randArr = []
for (let i = 0; i < num; i++) {
let randNum = Number((Math.random() * (max-min) + min).toFixed(dec))
randArr.push(randNum)
}
return randArr
}
console.log(randomNum(20,30,3,2)); // [20.92, 22.13, 23.21]