javascript 代码片段

发布日期 目录 JavaScript

1、修改图片链接中的图片的名字

// src 为服务器传过来的图片链接
var imgName = src.replace(/.*\/([^\/]+)\..+/, '$1');  // 取出图片名称(一般是一长串乱码式名称)
var imgSrc =src.replace(_imgName, _imgName + '_zm300x300');  // 修改后的图片链接

2、深拷贝(用于对象、数组、数组对象)

function objDeepCopy(source) {
    var sourceCopy = source instanceof Array ? [] : {};
    for (var item in source) {
        sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
    }
    return sourceCopy;
}

// 也可以使用jquery的extend方法
$.extend(true,newObj,souurceObj);  // 第一个参数为true  表示深拷贝

3、正则

//数字校验(正數)
var r = /^([0-9]{1,9}|[0-9]{1,9}\.[0-9]{1,2})$/;
r.test(value);

//数字校验(正整數)
var r = /^[0-9]*[1-9][0-9]*$/;
r.test(value);

//近乎完美的金额校验
var r = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^0$)|(^\d\.\d{1,2}$)/;
r.test(value);

//手机号校验
var r = /^(1[356789][0-9]{9}|(\\d{3,4}-)\\d{7,8}(-\\d{1,4})?)$/;
r.test(value);

4、Javascript 获取滚动条高度

const getScrollTop = () => {
  let scrollTop = 0;
  if (document.documentElement && document.documentElement.scrollTop) {
    scrollTop = document.documentElement.scrollTop;
  } else if (document.body) {
    scrollTop = document.body.scrollTop;
  }
  return scrollTop;
};

5、获取页面URL链接后面的附带参数的值

function GetQueryString(name) {
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null) return unescape(r[2]);
    return null;
}

6、判断数据类型 相对于 typeof 更全面

let value = 'seebin';// 123\[]\{}\fun\''\boolean\null\undefined  
Object.prototype.toString.call(value).replace(/^\[object (.+)\]$/, "$1").toLowerCase();

发表评论

邮箱地址不会被公开。