项目中常用方法的封装

项目中常用方法的封装

常见组件封装

// 去除给予对象中的空值
export function delEmpty(params) {
  let _params = {};
  Object.keys(params).forEach((key) => {
    if (params[key] || params[key] === 0 || params[key] === false) {
      if (params[key].length !== 0) {
        _params[key] = params[key];
      }
    }
  });
  return _params;
}

// 判断是否有特殊字符
export function hasSpecialCharacters(str) {
  const regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im,
    regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im;
  return regEn.test(str) || regCn.test(str);
}

// 判断是否有特殊字符,不包括逗号
export function hasSpecialCharactersExcludeComma(str) {
  const regEn = /[`~!@#$%^&*()_+<>?:"{}.\/;'[\]]/im,
    regCn = /[·!#¥(——):;“”‘、|《。》?、【】[\]]/im;
  return regEn.test(str) || regCn.test(str);
}

// 判断是否输入的是英文
export function checkInputEn(str) {
  const reg = /(?=[\x21-\x7eA-Za-z0-9,\d@]+)/;
  return reg.test(str);
}

// 判断输入的是否是中英文
export function checkInputChEn(str) {
   const reg = /^[A-Za-z\u4e00-\u9fa5]+$/;
   return reg.test(str);
}
//判断输入的是否是数字
export function checkInputNum(str) {
  const reg = /\d/g;
  return reg.test(str);
}

/**
 * 时间转换
 * */
export const timeformat = (dataStr, pattern = "YYYY-MM-DD HH:mm:ss") => {
  if (!dataStr) return "";
  return moment(dataStr).format(pattern);
};
export const thousandsHandler = (num) => {
  var reg = /\d{1,3}(?=(\d{3})+$)/g;
  return (num + "").replace(reg, "$&,");
};
/**
 * 时间转换
 * */
export const dateformat = (dataStr) => {
  if (!dataStr) return "";
  return moment(dataStr).format("yyyy-MM-dd");
};

/**
 * 保留小数点后四位
 * */
export function validateDecimalPoint(val) {
  let re = /^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,4})?$/;
  return re.test(val);
}

// 只可输入字母数字以及特殊字符除以下字符不可输入(。 ! ? 【 】 ; ! ? [ ] @ $ ^ ` *)
export var validateEnName = (rule, value, callback) => {
  var reg1 = /^[^(。|!|?|【|】|;|!|\?|\[|\]|\@|\$|\^|`|\*|)]+$/;
  let reg2 = new RegExp("[\\u4E00-\\u9FFF]+", "g");
  let error = new Error("不可以输入。!?【 】;! ? [ ] @ $^`*特殊字符和汉字");
  if (!reg1.test(value)) {
    callback(error);
  } else if (reg2.test(value)) {
    callback(error);
  } else {
    callback();
  }
};

//复杂数组去重
removeSame(arr, id) {
   arr = arr.reduce((item, next) => {
     typeof item.find((ele) => ele[id] === next[id]) === "undefined" &&
      item.push(next);
     return item;
   }, []);
   return arr;
}

//时间转换——moment的使用
import moment from "moment";
// 格式转换--年月日
export const dateformat = (dataStr, pattern = "YYYY-MM-DD") => {
  if (!dataStr) return "--";
  return moment(dataStr).format(pattern);
};
// 格式转换--年月日时分
export const dateformat2 = (dataStr, pattern = "YYYY-MM-DD HH:mm") => {
  if (!dataStr) return "--";
  return moment(dataStr).format(pattern);
};
// 格式转换--年月日时分秒
export const timeformat = (dataStr, pattern = "YYYY-MM-DD HH:mm:ss") => {
  if (!dataStr) return "--";
  return moment(dataStr).format(pattern);
};

export const thousandsHandler = (num) => {
  var reg = /\d{1,3}(?=(\d{3})+$)/g;
  return (num + "").replace(reg, "$&,");
};

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值