js常用的小工具方法

总结一下常用的小工具底层方法

规范化时间显示

function formatTime(date){
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()
    var hour = date.getHours()
    var minute = date.getMinutes()
    var second = date.getSeconds()

    function formatNumber(n){
          n = n.toString()
          return n[1]  ? n : ‘0‘ + n
    }

    return [year, month, day].map(formatNumber).join(‘/‘) +‘ ‘+  [hour, minute, second].map(formatNumber).join(‘:‘)
}

  

删除数组中指定项

function removeArrElement(arr, value){
    for (var i=0;i<arr.length;i++){
        if(arr[i]  == value) {
            arr.splice(i,1);
            break;
        }
    }
    retrun arr;
} 

将a中与b索引相同的项的值都替换为b的值。
function extend(a,b){
    for (var key in b){
        if (b[key]){
             a[key] = b[key]
        }
    }
    return a
}

获取数组中的特定对象(如果key,value相同,就取得第一个的值)

function getElementByAttr(arr,key,value) {
    for(var i=0;i<arr.length;i++){
        if(arr[i][key] == value){
            return arr[i]
        }
    }
    return null
}

将一个对象变为url传参的字符串形式

function objToParams(obj){
    var arr = []
    for(var key in obj){
        if(obj[key]){
            arr.push(key + "=" + obj[key])
        }
    }
    return arr.join("&")
}

向对象a中扩增对象b的属性值

  function copyProp(a,b){
    for(var key in b){
      if(b[key]){
        if(a[key]){
          // 什么都别做
        } else {
          a[key] = b[key]
        }
      }
    }  
    return a
  }

  

判断是否为手机号

function isMobile(mobile) {
    var reg = /^[0123456789]{11}$/;
    if (!reg.test(mobile)){
        return false
    } else {
        return true
    }
}

 根据生日判断周岁

function getAgeByBirthday(birthday){
    var returnAge;
    var strBirthdayArr = birthday.split("-");
    var birthYear = strBirthdayArr[0];
    var birthMonth = strBirthdayArr[1];
    var birthDay = strBirthdayArr[2];

    var d = new Date();
    var nowYear = d.getFullYear();
    var nowMonth = d.getMonth() + 1;
    var nowDay = d.getDate();

    if(nowYear == birthYear){
        returnAge = 0;  //同年 则为0岁
    } else {
        var ageDiff = nowYear - birthYear;
        if(ageDiff > 0){
            if (nowMonth == birthMonth) {
                var dayDiff = nowDay - birthDay;//日之差
                if (dayDiff < 0) {
                    returnAge = ageDiff - 1;
                }
                else {
                    returnAge = ageDiff;
                }
            }
            else {
                var monthDiff = nowMonth - birthMonth;//月之差
                if (monthDiff < 0) {
                    returnAge = ageDiff - 1;
                }
                else {
                    returnAge = ageDiff;
                }
            }
        }
        else {
            returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
        }
    }

    return returnAge;//返回周岁年龄
}

  

 

时间: 2024-10-07 21:42:44

js常用的小工具方法的相关文章

js 创建书签小工具之理论

我们一直在寻找增加浏览体验的方法,有的方法众所周知,有的则鲜为人知.我原本认为书签小工具属于后者,非常令人讨厌的东西.令我非常懊恼的是我发现在这个问题上我完全是错误的.它并不是令人厌烦的,而是以用户为中心的,能实现很多出色的功能,而且就像人们所预期的一样,它成为了我与浏览者以及网络交互的核心部分. 这里我想向你介绍开发书签小工具以实现一些精妙的书签的全过程.是的,书签,我们将创建不只一个书签,即使是非常小的书签.很好奇吗?我们开始吧! 究竟什么是书签小工具呢? 引用前文的话: 书签小工具是一个非

腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总

文/腾讯公司 陈江峰 优测小优有话说: 移动研发及测试干货哪里找?腾讯优测-优社区你值得拥有~ 开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO.这时候,没有新技能傍身怎么行?今天我特意将自己使用过的安卓开发小工具进行了汇总,希望与大家共同进步. 话不多说,实用工具大讲堂现在开始! Lint(清理资源.安全检查.layout优化等) 一般在提测前清理一下冗余资源,查一下有没有用了一些高API Level才有的接口,查一下安全问题. Findbugs(检查java代码缺陷)在开发

js常用的小方法

1.随机数 90 -100之间的随机数:parseInt(Math.random() * (100 - 90) + 90) 10-20之间的随机数:parseInt(Math.random() * (20 - 10) + 10) 1-10之间的随机数:Math.floor(Math.random()*10+1) 0-9之间的随机数:Math.floor(Math.random()*10) 原文地址:https://www.cnblogs.com/panyujun/p/11008856.html

JS常用事件兼容性处理方法

event.js文件 //跨浏览器事件处理程序[根据能力检测调用] var EventObject = { //添加事件AddEvent:function(obj , type , eventFn){if(obj.addEventListener){//常用obj.addEventListener(type , eventFn , false);}else if(obj.attachEvent){//IE8及以下obj.attachEvent('on'+type , eventFn);}else

常用在线小工具

JavaScript代码格式化工具 JSON代码工具 JavaScript压缩/格式化/加密工具 CSS代码工具 JavaScript正则在线测试工具 在线JS脚本校验器错误 Unix时间戳(timestamp)转换工具 在线XML/JSON互相转换工具 JavaScript代码在线加密工具 在线XML格式化/压缩工具

网页常用的小工具--返回顶部

1 <!doctype html> 2 <html> 3 <head> 4 <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 5 <meta charset="UTF-8" /> 6 <title>top</title> 7 <meta name="keywords" cont

JS生成tips小工具

效果: html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="jquery.min.js"></script> <script src="tips.js">&l

linux下常用的小工具

1.file 分析文件的结构.位数 关键信息是ELF 32位可执行文件,还是动态链接 2.ldd ldd - print shared object dependencies 列举出任何可执行文件所需的动态库 3.xxd xxd - make a hexdump or do the reverse. 4.objdump objdump - display information from object files. 显示与目标文件相关的信息 5.checksec checksec -- Chec

如何通过C#开发调用Skyline软件中提供的小工具

熟悉Skyline的朋友会知道,在TerraBuilder和TerraExplorer Pro软件的安装目录里,提供了很多个小工具(exe程序): 虽然我们看不到这些小工具的源代码,但我们还是可以在自定义的开发环境中来调用它们的: 尤其是可以用来实现一些批量化操作和自动化操作: 常用的小工具: MakeXpl.exe: MakeCPT.exe: Triangulate Irregular Elevation Grid.exe: Convert XYZ ASCII Elevation.exe: C