一些常用的函数

import moment from 'moment';

/**
 * 校验数组
 * @param {*} array
 */
export function checkArray(array) {
  if (array && array.length > 0) {
    return array;
  } else {
    return [];
  }
}

/**
 * 校验是否为图片
 * @param {String} url 文件链接
 */
export function checkIsImg(url) {
  return /\.(jpg|png|gif|swf|bmp|jpeg)$/i.test(url);
}

/**
 * 约束时间
 * @param {*} time
 */
export function disabledEndDate(time) {
  if (!time) {
    return false;
  } else {
    // 大于当前日期不能选 time > moment()
    // 小于当前日期不能选 time < moment().subtract(1, "days")
    // 只能选前7后7 time < moment().subtract(7, "days") || time > moment().add(7, 'd')
    return time > moment();
  }
}
/**
 * location.href
 * @param {String} data 传参
 * @param {String} url url
 */
export function locationHref(url, data) {
  location.href = url + data;
}

/**
 * 获取任意一天的开始时间
 * @param {Number} time 时间戳
 */
export function startTime(time) {
  const nowTimeDate = new Date(time);
  return nowTimeDate.setHours(0, 0, 0, 0);
}

/**
 * 获取任意一天的结束时间
 * @param {Number} time 时间戳
 */
export function endTime(time) {
  const nowTimeDate = new Date(time);
  return nowTimeDate.setHours(23, 59, 59, 999);
}

/**
* 去除空格及换行
* @param {*} str str
* @returns {object} obj
*/
export function strHandle (str) { 
  let s = ''; 
  if (str.length == 0) return ''; 
  s = str.replace(/\ +/g,'');
  s = s.replace(/[\r\n]/g,'');
  return s; 
}

/**
 * 反转义
 * @param {*} str str
 * @returns {object} obj
 */
export function html_decode (str) { 
  let s = ''; 
  if (str.length == 0) return ''; 
  s = str.replace(/&amp;/g, '&'); 
  s = s.replace(/&lt;/g, '<'); 
  s = s.replace(/&gt;/g, '>'); 
  s = s.replace(/&nbsp;/g, ' '); 
  s = s.replace(/&#39;/g, '\''); 
  s = s.replace(/&quot;/g, '"'); 
  s = s.replace(/<br\/>/g, '\n'); 
  return s; 
}

/**
 * 转义
 * @param {*} s s
 * @returns {object} obj
 */
export function encodeHtml (s) {
  return (typeof s != 'string') ? s :
    s.replace(this.REGX_HTML_ENCODE,
      function($0){
        let c = $0.charCodeAt(0), r = ['&#'];
        c = (c == 0x20) ? 0xA0 : c;
        r.push(c); 
        r.push(';');
        return r.join('');
      });
}

/**
 * 获取URl参数
 * @param {*} name name 
 * @param {*} tst tst
 */
export function getQueryString (name,tst) {
  let tstr = tst;
  let index = tstr.indexOf('?');
  let str = tstr.substring(index + 1);
  let arr = str.split('&');
  let result = {};
  arr.forEach((item) => {
    let a = item.split('=');
    result[a[0]] = a[1];
  });
  return result[name];
}

/**
 * 获取URl参数
 * @param {*} name name 
 */
export function getneedseen(name) {
  const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i');
  const r = window.location.search.substr(1).match(reg);
  if (r != null) {
    return decodeURI(r[2]);
  }
  return null;
}

/**
 * 将四位小数转成百分比(防止精度丢失)
 * @param {Number} num 四位小数 
 */
export function conversion(num) {
  const percentage  = Math.round(parseFloat(num) * 100 * 100) / 100}+‘%’;
  return percentage;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容