一些输入框的校验

1. 只能输入小数点后两位的数字:

<el-input
          v-model.trim="form.amount"
          @input="
            () => {
              form.amount = onlySixDecimalPlace(form.amount);
            }
          "
        ></el-input>


// 仅限两位小数
export function onlyTwoDecimalPlace(value) {
  value = value.replace(/[^\d.]/g, ''); //清除“数字”和“.”以外的字符
  value = value.replace(/\.{2,}/g, '.'); //只保留第一个. 清除多余的
  value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
  value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
  if (value.indexOf('.') < 0 && value !== '') {
    //以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的数字
    value = parseFloat(value);
  }
  return value;
}

 2.手机号邮箱等校验:

/* 是否手机号码*/
export function validatePhone(rule, value, callback) {
  const reg = /^[1][0-9][0-9]{9}$/;
  if (value === '' || value === undefined || value === null) {
    callback();
  } else {
    if (!reg.test(value) && value !== '') {
      callback(new Error('请输入正确的手机号码'));
    } else {
      callback();
    }
  }
}

/* 合法手机号格式 */
export function isvalidTelNumber(tel_number) {
  const valid_tel = /^((1[3,5,8][0-9])|(14[5,7-9])|(16[6])|(17[0-3,5-8])|(19[8-9]))\d{8}$/;
  return valid_tel.test(tel_number);
}


/* 合法手机号和电话格式 校验发票号码 */
export function isvalidTelInvoice(tel_number) {
  const valid_tel = /^(((1[3,5,8][0-9])|(14[5,7-9])|(16[6])|(17[0-3,5-8])|(19[8-9]))\d{8}$|((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})))$/;
  return valid_tel.test(tel_number);
}

/* 合法手机号格式 校验前两个号段 */
export function isvalidTelNum(tel_number) {
  const valid_tel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  return valid_tel.test(tel_number);
}


/* 是否邮箱*/
export function validateEmail(rule, value, callback) {
  const reg =
    /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  if (value === '' || value === undefined || value === null) {
    callback();
  } else {
    if (!reg.test(value) && value !== '') {
      callback(new Error('请输入正确的邮箱'));
    } else {
      callback();
    }
  }
}

// 验证密码
export const validatePwd = (rule, value, callback) => {
  const reg = /^[A-Za-z0-9]{8,16}$/;
  if (!reg.test(value)) {
    callback(new Error('密码为8-16位字母、数字或组合'));
  } else {
    callback();
  }
};

/* 信用代码 */
export function isvalidUscc(tel_usc) {
  const valid_usc = /[0-9A-Z]{2}\d{6}[0-9A-Z]{10}$/;
  return valid_usc.test(tel_usc);
}

/* 密码格式 */
export function isvalidPassword(passwr) {
  const valid_password = /^[A-Za-z0-9]+$/; ///^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$/;
  return valid_password.test(passwr);
}

/* 正数带多位小数 */
export function isValidTransAmount(number) {
  const valid_number = /^[1-9]+\d*(\.\d{0,20})?$|^0?\.\d{0,20}$/;
  return valid_number.test(number);
}

/* 正实数 */
export function isValidPositiveNum(number) {
  const valid_positive_num = /^[0-9]*[1-9][0-9]*$/;
  return valid_positive_num.test(number);
}

/* 注册资本 (只支持数字字符,长度不限制)*/
export function isValidRegisterAmount(number) {
  const valid_positive_num = /^[1-9]\d*(\.\d+)?$|^0\.\d*[1-9]$/g;
  // const valid_positive_num = /^(\d{1,9}.)?\d{1,30}$/;
  return valid_positive_num.test(number);
}

/* 邮政编码 (6位数字)*/
export function isValidPostCode(number) {
  const valid_positive_num = /^[0-9]{6}$/;
  return valid_positive_num.test(number);
}

/* 电话 (只支持数字和'-"字符,长度不限制)*/
export function isValidPhoneNum(number) {
  const valid_positive_num = /^(\d{1,9}-)?\d{1,20}$/;
  return valid_positive_num.test(number);
}

/* 传真 (只支持数字和'-"字符,长度不限制)*/
export function isValidFaxNum(number) {
  const valid_positive_num = /^(\d{1,9}-)?\d{1,20}$/;
  return valid_positive_num.test(number);
}

/* 邮箱 */
export function isValidEmail(number) {
  const valid_positive_num = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
  return valid_positive_num.test(number);
}

/* 密码 */
export function isvalidPasswordS(passwr) {
  const valid_password = /^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$/;
  return valid_password.test(passwr);
}

/*特殊字符校验*/
export function specialCharCheck(name) {
  let pattern = new RegExp(
    "[`~!@#$^&*()=|{}':;,\\[\\]<>/?!¥…()【】‘;:”“。,、?]"
  );
  console.log(name);
  if (pattern.test(name)) {
    return true;
  } else {
    return false;
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值