Skip to content

工具函数

数组去重

js
export const uniqueArray = (arr) => {
  return Array.from(new Set(arr));
};
export const uniqueArray = (arr) => {
  return Array.from(new Set(arr));
};

数组扁平化

js
export const flattenArray = (arr) => {
  return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenArray(val)) : acc.concat(val), []);
};
export const flattenArray = (arr) => {
  return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenArray(val)) : acc.concat(val), []);
};

截断字符串

js
export const truncateString = (str, maxLength) => {
  if (str.length > maxLength) {
    return str.substring(0, maxLength) + '...';
  }
  return str;
};
export const truncateString = (str, maxLength) => {
  if (str.length > maxLength) {
    return str.substring(0, maxLength) + '...';
  }
  return str;
};

反转字符串

js
export const reverseString = (str) => {
  return str.split('').reverse().join('');
};
export const reverseString = (str) => {
  return str.split('').reverse().join('');
};

验证邮箱格式

js
export const validateEmail = (email) => {
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  return emailRegex.test(email);
};
export const validateEmail = (email) => {
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  return emailRegex.test(email);
};

验证手机号格式

js
export const validateMobile = (mobile) => {
  const mobileRegex = /^1[3-9]\d{9}$/;
  return mobileRegex.test(mobile);
};
export const validateMobile = (mobile) => {
  const mobileRegex = /^1[3-9]\d{9}$/;
  return mobileRegex.test(mobile);
};

验证密码格式

js
export const validatePassword = (password) => {
  const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;
  return passwordRegex.test(password);
};
export const validatePassword = (password) => {
  const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;
  return passwordRegex.test(password);
};

验证身份证号码

js
export const validateIdCard = (idCard) => {
  const idCardRegex18 = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/;
  const idCardRegex15 = /^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/;
  return idCardRegex18.test(idCard) || idCardRegex15.test(idCard);
};
export const validateIdCard = (idCard) => {
  const idCardRegex18 = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/;
  const idCardRegex15 = /^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/;
  return idCardRegex18.test(idCard) || idCardRegex15.test(idCard);
};

验证URL格式

js
export const validateUrl = (url) => {
  const urlRegex = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
  return urlRegex.test(url);
};
export const validateUrl = (url) => {
  const urlRegex = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
  return urlRegex.test(url);
};

验证是否包含中文字符

js
export const validateChinese = (str) => {
  const chineseRegex = /[\u4e00-\u9fa5]/;
  return chineseRegex.test(str);
};
export const validateChinese = (str) => {
  const chineseRegex = /[\u4e00-\u9fa5]/;
  return chineseRegex.test(str);
};

验证是否为纯数字

js
export const validateNumber = (str) => {
  const numberRegex = /^\d+$/;
  return numberRegex.test(str);
};
export const validateNumber = (str) => {
  const numberRegex = /^\d+$/;
  return numberRegex.test(str);
};

程序员小洛文档