前端常用正则验证

// 验证电子邮箱格式

export function email(value) {

  return /^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);

}

// 验证手机格式

export function mobile(value) {

  return /^1[23456789]\d{9}$/.test(value);

}

// 验证URL格式

export function url(value) {

  return /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?/.test(value);

}

// 验证日期格式

export function date(value) {

  return !/Invalid|NaN/.test(new Date(value).toString());

}

// 验证十进制数字

export function number(value) {

  return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);

}

// 验证整数

export function digits(value) {

  return /^\d+$/.test(value);

}

// 验证身份证号码

export function idCard(value) {

  return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(

    value

  );

}

// 是否车牌号

export function carNo(value) {

  // 新能源车牌

  const xreg =

    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;

  // 旧车牌

  const creg =

    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;

  if (value.length === 7) {

    return creg.test(value);

  } else if (value.length === 8) {

    return xreg.test(value);

  } else {

    return false;

  }

}

//金额,只允许2位小数

export function amount(value) {

  // 金额,只允许保留两位小数

  return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value);

}

//中文

export function chinese(value) {

  let reg = /^[\u4e00-\u9fa5]+$/gi;

  return reg.test(value);

}

//只能输入字母

export function letter(value) {

  return /^[a-zA-Z]*$/.test(value);

}

//只能是字母或数字

export function enOrNum(value) {

  // 英文或者数字

  let reg = /^[0-9a-zA-Z]*$/g;

  return reg.test(value);

}

//是否固定电话

export function landline(value) {

  let reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/;

  return reg.test(value);

}

//正则替换

  str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点

  if (limit == 1) {

    str = str.replace(/^\D*([0-9]\d*\.?\d{0,1})?.*$/, '$1') // 小数点后只能输 1 位

  } else if (limit == 2) {

    str = str.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/, '$1') // 小数点后只能输 2 位

  } else if (limit == 3) {

    str = str.replace(/^\D*([0-9]\d*\.?\d{0,3})?.*$/, '$1') // 小数点后只能输 2 位

  } else if (limit == 4) {

    str = str.replace(/^\D*([0-9]\d*\.?\d{0,4})?.*$/, '$1') // 小数点后只能输 2 位

  }else if (limit == 0) {

    str = str.replace(/^0+(\d)|[^\d]+/g, '$1') // 正整数

  }

  //如果想自定义小数点后保留的位数请else if 既可

  return str

}

车架号Vin码验证(统一大写)

validVin(vin) {

  const reg =  /^[A-HJ-NPR-VW-Z0-9]{17}$/

  return reg.test(vin.toUpperCase())

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容