邮箱,身份证,手机号,密码正则

/**
 * 获取cookie
 * @param {String} 要获取的cookie的name
 * @return {Object} 返回对应cookie的value
 */
export const getCookie = (name) => {
  const arr = document.cookie.match(new RegExp('(^| )' + name + '=([^;]*)(;|$)'));
  if (arr != null) {
    return decodeURI(arr[2]);
  }
  return null;
};

/*
 * 获取url参数
 */
export const getUrlParam = (name) => {
  const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
  const r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]);
  return null;
};

// 验证规则

/*
 * 验证身份证
 */
export const idCard = (card) => {
  // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
  const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 * 护照正则表达式
 */
export const passportCard = (card) => {
  const reg = /^[a-zA-Z]{1}[0-9]{8}/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 * 军官证正则表达式
 */
export const officersCard = (card) => {
  // const reg = /[\u4e00-\u9fa5]{1}(字第){1}(\d{4,8})(号?)$/; // 3汉字+8位数字
  const reg = /^[\u4e00-\u9fa5a-zA-Z0-9]{6,64}$/; // 3汉字+8位数字
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 * 邮箱验证
 */
export const regemail = (card) => {
  const reg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 * 验证码验证
 */
export const regcode = (card) => {
  const reg = /^[0-9]*$/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 *验证码为数字
 */
export const msgCode = (card) => {
  const reg = /^[0-9]*$/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 *密码  密码6-20位的字母、数字和特殊符号的组合
 */
export const passwords = (card) => {
  // const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
  const reg = /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,20}$/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};
// 同时包括字母及数字。6-20位字符,区分大小写
export const passwords1 = (card) => {
  const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
  // const reg = /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,20}$/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};

/*
 *特殊字符
 */
export const specialChar = (card) => {
  const reg = /["'<>%;)(&+]/;
  if (reg.test(card) === false) {
    return false;
  }
  return true;
};


猜你喜欢

转载自blog.csdn.net/jo_an_na/article/details/83818583