hey ~ 我是肥阳,后期会持续更新,请记得点赞支持哟
-
判断手机系统类型
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
//安卓手机
} else if (u.indexOf('iPhone') > -1) {
//苹果手机
} else if (u.indexOf('Windows Phone') > -1) {
//winphone手机
}
-
判断是否在微信中打开
function isWX() {
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}
-
获取时间戳
1、var timestamp = Date.parse(new Date()); 把毫秒改成000显示
2、var timestamp = (new Date()).valueOf(); 获取了当前毫秒的时间戳
3、var timestamp=new Date().getTime(); 获取了当前毫秒的时间戳
-
时间戳转义
时间戳有 10位 和 13位,为什么会有这两种呢?百度查询得到以下结论:
java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,其精度是秒。
function formatTime(time) {
if (time * 1000 < 1) {
return '';
}
var date = new Date(time * 1000);
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var min = date.getMinutes();
var sec = date.getSeconds();
month = (month < 10 ? "0" : "") + month;
day = (day < 10 ? "0" : "") + day;
hour = (hour < 10 ? "0" : "") + hour;
min = (min < 10 ? "0" : "") + min;
sec = (sec < 10 ? "0" : "") + sec;
var str = date.getFullYear() + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec;
return str;
},
formatTime(1559540971) // "2019-06-03 13:49:31"
如果时间戳是13位,需要先除以1000转换为10位时间戳进行转换
-
地址栏获取参数
function getUrlSearch(name) {
// 未传参,返回空
if (!name) return null;
// 查询参数:先通过search取值,如果取不到就通过hash来取
var after = window.location.search;
after = after.substr(1) || window.location.hash.split('?')[1];
// 地址栏URL没有查询参数,返回空
if (!after) return null;
// 如果查询参数中没有"name",返回空
if (after.indexOf(name) === -1) return null;
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
// 当地址栏参数存在中文时,需要解码,不然会乱码
var r = decodeURI(after).match(reg);
// 如果url中"name"没有值,返回空
if (!r) return null;
return r[2];
}
getUrlSearch('参数名');
-
九九乘法表
for (var i = 1; i < 10; i ++){
for (var j = 1; j <= i; j ++) {
var sum = i*j;
document.write(i+'x'+j+'='+sum+' ');
}
document.write("<br />")
}
-
编码&解码
原理:对URL的组成部分进行个别编码,而不用于对整个URL进行编码
encodeURIComponent();
decodeURIComponent();
-
在不改变原有数字长度的前提下 +1
function getNextCode(v){
var len = v.length;
var count = 1;
var reg = /^\d+$/;
var num,left,code;
do{
num = v.slice(-count);
if(!reg.test(num)){code = '';break;}
left = v.slice(0,len-count);
code = left+(parseInt(num,10)+1);
count++;
} while(code.length!=len);
return code;
}
getNextCode('00000102196UBQBD9996'); // "00000102196UBQBD9997"
-
遍历对象并清空对象的值
function EmptyBeforeAdd(box) {
Object.keys(box).forEach((key) => {
box[key] = '';
});
}
-
去掉字符串前后所有空格
function Trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
var a = ' womem a ';
Trim(a); // 'womem a'
-
去掉字符串中所有空格(包括中间空格,需要设置第2个参数为:g)
function Trim(str,is_global) {
var result;
result = str.replace(/(^\s+)|(\s+$)/g,"");
if(is_global.toLowerCase()=="g"){
result = result.replace(/\s/g,"");
}
return result;
}
var a = ' womem a ';
Trim(a, 'g'); // 'womema'
-
时间比较
//时间比较(yyyy-MM-dd)
function compareDate(startDate, endDate) {
var arrStart = startDate.split("-");
var startTime = new Date(arrStart[0], arrStart[1], arrStart[2]);
var startTimes = startTime.getTime();
var arrEnd = endDate.split("-");
var endTime = new Date(arrEnd[0], arrEnd[1], arrEnd[2]);
var endTimes = endTime.getTime();
if (endTimes<startTimes) {
alert("结束时间不能小于开始时间");
return false;
}
return true;
}
//时间比较(yyyy-MM-dd HH:mm:ss)
function compareTime(startTime,endTime) {
var startTimes = startTime.substring(0, 10).split('-');
var endTimes = endTime.substring(0, 10).split('-');
startTime = startTimes[1] + '-' + startTimes[2] + '-' + startTimes[0] + ' ' + startTime.substring(10, 19);
endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);
var thisResult = (Date.parse(endTime) - Date.parse(startTime)) / 3600 / 1000;
if (thisResult < 0) {
alert("endTime小于tartTime!");
} else if (thisResult > 0) {
alert("endTime大于tartTime!");
} else if (thisResult == 0) {
alert("endTime等于tartTime!");
} else {
return '异常';
}
}