常用的JS方法

1.获取url中的参数
function getUrlParam (url, name) {
  var reg = new RegExp('[?&]' + name + '=([^&#]+)')
  var query = url.match(reg)
  return query ? query[1] : null
}
//例子:
var url = 'https:www.baidu.com?appId=123&appSecret=mima'
console.log(getUrlParam(url, 'appSecret')) 
// 打印结果为 mima
2.判断某一元素是否在指定数组中
function isExitElement (ele, eles) {
  return eles.filter(e => {
    return e === ele
  }).length > 0
}
//例子:
var val = 'a'
var array = ['a', 'b', 'c', 'd']
console.log(isExitElement(val, array)) 
// 打印结果为true
3.格式化时间
function formatDate (date, fmt) {
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  }
  let o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  }
  for (let k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      let str = o[k] + ''
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
    }
  }
  return fmt
}
function padLeftZero (str) {
  return ('00' + str).substr(str.length)
}
4.毫秒值转换为时间
function formatDateTime (inputTime) {
  var date = new Date(inputTime)
  var y = date.getFullYear()
  var m = date.getMonth() + 1
  m = m < 10 ? ('0' + m) : m
  var d = date.getDate()
  d = d < 10 ? ('0' + d) : d
  var h = date.getHours()
  h = h < 10 ? ('0' + h) : h
  var minute = date.getMinutes()
  var second = date.getSeconds()
  minute = minute < 10 ? ('0' + minute) : minute
  second = second < 10 ? ('0' + second) : second
  return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
}
5.动态引入js文件和动态引入css文件
/**
 * 动态引入js文件
 * @param inc
 */
function _IncludeScript (inc) {
  var script = document.createElement('script')
  script.type = 'text/javascript'
  script.src = inc
  document.getElementsByTagName('head')[0].appendChild(script)
}

/**
 * 动态引入css文件
 * @param inc
 */
function _IncludeCss (inc) {
  var script = document.createElement('link')
  script.type = 'text/css'
  script.src = inc
  document.getElementsByTagName('head')[0].appendChild(script)
}
6.base64的图片url数据转换为Blob
/**
 * 将以base64的图片url数据转换为Blob
 * @param urlData 用url方式表示的base64图片数据
 */
function convertBase64UrlToBlob (urlData) {

  var bytes = window.atob(urlData.split(',')[1])        // 去掉url的头,并转换为byte

  // 处理异常,将ascii码小于0的转换为大于0
  var ab = new ArrayBuffer(bytes.length)
  var ia = new Uint8Array(ab)
  for (var i = 0; i < bytes.length; i++) {
    ia[i] = bytes.charCodeAt(i)
  }

  var blob = new Blob([ab], {type: 'image/png'})

  blob.name = 'picCam.jpg'
  return blob
}
7.判断某个div中上传的是否为图片
var fileTypes = ['.jpg', '.jpeg', '.bmp', '.png', '未选择']
function isPic (id) {
  var filelist = $('#' + id + ':file')
  var flag
  for (var i = 0; i < filelist.length; i++) {
    var name = filelist[i].name
    var fileType = name.substring(name.lastIndexOf('.'))
    var result = $.inArray(fileType, fileTypes)
    if (result === -1) {
      flag = true
      break
    }
  }
  return flag
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。