【获取当前时间的年月日 时分秒】
function getTime() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate()
var hours = date.getHours(); //时
var minutes = date.getMinutes(); //分
var seconds = date.getSeconds(); //秒
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day
hours = hours < 10 ? '0' + hours : hours
minutes = minutes < 10 ? '0' + minutes : minutes
seconds = seconds < 10 ? '0' + seconds : seconds
return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds
}
getTime() //2021-04-22 09:46:53
【获取当前时间之后(之前)的第n天时间】
function getDays(num) {
var date = new Date();
date.setDate(date.getDate() + num) //当使用setDate()之后,date对象就发生了改变,所以之后getDate()就能获取到指定的日期
let year = date.getFullYear() //年
let month = date.getMonth() + 1 //月
let day = date.getDate(); //天数
if (month >= 1 && month <= 9) {
month = `0${month}`
}
if (day >= 1 && day <= 9) {
day = `0${day}`
}
return `${year}-${month}-${day}`
}
getDays(1);
【封装函数自动判断平年闰年和各月天数,返回当前月的天数】
function getDaysOfEveryMonth(year, month) {
var baseMonthsDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; //各月天数
var thisYear = year; //今年
var thisMonth = month; //本月
var thisMonthDays; //这个月的天数变量存储
//判断是闰年吗?闰年2月29天
function isRunYear(fullYear) {
return (fullYear % 4 == 0 && (fullYear % 100 != 0 || fullYear % 400 == 0));
}
if (isRunYear(thisYear) && thisMonth == 2) { //闰年2月29天
thisMonthDays = baseMonthsDay[1] + 1
} else {
thisMonthDays = baseMonthsDay[thisMonth - 1];
}
return thisMonthDays;
}
getDaysOfEveryMonth(2021,4);
【根据new Date()判断日期大小】
function judgmentDate(m,n){
var a = new Date(m);
var b = new Date(n);
if(a > b){
console.log('大于');
}else if(a < b){
console.log("小于");
}else{
console.log("等于");
}
}
judgmentDate('2021-05-26 11:00:00','2021-06-12 12:12:12') //小于
【获取url后边参数的参数值】
function getParamsName(attr) {
var url = 'baidu.com?name=冠军&age=18&province=山西' //location.href;
var params = url.split('?')[1];
var paramsObj = {};
if (params) {
var paramsList = params.split('&') || [];
for (var i = 0; i < paramsList.length; i++) {
var item = paramsList[i].split('=') || [];
paramsObj[item[0]] = item[1];
}
}
return decodeURIComponent(paramsObj[attr]);
}
getParamsName('name') //冠军
【数字千分位】
function toFormat(num) {
num = Number(num);
return num.toLocaleString();
}
toFormat(138000); //138,000
【手机号验证】
function isPhoneNumber(tel) {
var reg = /^0?1[3|4|5|6|7|8|9][0-9]\d{8}$/;
return reg.test(tel);
}
【数组去重】
//方法一:
function uniq_one(arr) {
return [...new Set(arr)]
}
uniq_one([1,2,3,1]) //[1,2,3]
//方法二:
function uniq_two(arr) {
var uniq = [];
for (var i = 0; i < arr.length; i++) {
if (uniq.indexOf(arr[i]) == -1) {
uniq.push(arr[i]);
}
}
return uniq;
}
uniq_two([1,2,3,1]); //[1,2,3]
//方法三:
function uniq_three(arr){
var uniq = [];
var obj = {};
for(var i = 0; i < arr.length; i++){
if(obj[arr[i]] == undefined){
uniq.push(arr[i]);
obj[arr[i]] = 1;
}
}
return uniq;
}
uniq_three([1,2,3,1]) //[1,2,3]
【两个数组对比,去除相同元素,得到新数组】
function getArrUnequal(arr1, arr2) {
let list = arr2.filter(items => { //filter 它用于把Array的某些元素过滤掉,然后返回剩下的元素
if (!arr1.includes(items))
return items;
})
return list;
}
getArrUnequal(arr1, arr2);
【两个数组对比,取出相同元素,得到新数组】
function getArrEqual(arr1, arr2) {
let newArr = [];
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
newArr.push(arr1[i])
}
}
}
return newArr;
}
getArrEqual(arr1, arr2);
【数组中的最大值】
const max = (arr) => {
return Math.max.apply(null, arr);
}
max([1,2,3,0]) //3
【数组中的最小值】
const min = (arr) => {
return Math.min.apply(null, arr);
}
min([1,2,3,0]) //0
【数组的平均值】
const average = (arr) => {
return eval(arr.join("+")) / arr.length;
}
average([1,2,3,0]) //1.5
【是否为微信浏览器】
const isWeiXin = () => {
return ua.match(/microMessenger/i) == 'micromessenger'
}
【是否为移动端】
const isDeviceMobile = () => {
return /android|webos|iphone|ipod|balckberry/i.test(ua)
}
【是否为PC端】
const isPC = () => {
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone","SymbianOS", "Windows Phone","iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
【是否为ios】
const isIos = () => {
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //安卓手机
return false
} else if (u.indexOf('iPhone') > -1) {//苹果手机
return true
} else if (u.indexOf('iPad') > -1) {//iPad
return false
} else if (u.indexOf('Windows Phone') > -1) {//winphone手机
return false
} else {
return false
}
}
【判断一个字符串中是否包含另一个字符串 】
function hasStr(str1,str2){
var info;
if(str1.indexOf(str2) != -1){
info = '包含';
}else{
info = '不包含';
}
return info;
}
hasStr("zhangsan","a")
【生成一个随机颜色,并返回rgb字符串值】
//随机函数
function randomNum(m, n) {
return Math.floor(Math.random() * (n - m + 1) + m);
}
function randomColor() {
var r = randomNum(0, 255);
var g = randomNum(0, 255);
var b = randomNum(0, 255);
return "rgb(" + r + "," + g + "," + b + ")";
}
【字符串获取最后一个斜杠之后的内容】
function getContent(str){
let index = str.lastIndexOf("\/");
let t = str.substring(index+1,str.length);
return t;
}
getContent("/files/file/记录美好生活.doc") //记录美好生活.doc