element 表单规则验证

1.输入框整数保留9位小数点保留6位

 <el-form-item label="最大重量(kg)" prop="whPMaxWeight">
     <el-input v-model.number="batchDetail.whPMaxWeight" type="number"
           style="width: 100%" show-word-limit clearable
           placeholder="请输入" />
   </el-form-item>
   
  const validatePass = (rule, value, callback) => {
    var reg = /^(\d{0,9})(\.(\d{0,6}))?$/g;
    if(!reg.test(value)){
      callback(new Error("请输入整数9位小数6位的数值"));
    } else {
      callback();
    }
  };
   const rules = {
    whPMaxWeight:[{ validator:validatePass, trigger: "blur"}],
  };

2.小数点不能超过两位并是正数

 const low = (rule, value, callback, source, options) => {
   if (
    value !== "" &&
    !(/^\d+(\.\d{1,2})?$/.test(value) || /^\d$/.test(value))
   ) {
    callback(new Error("小数点不能超过两位并是正数"));
   } else {
    callback();
   }
  };

3.只能输入字母

  var validateText = (rule, value, callback) => {
   if (value !== "" && /[^a-zA-Z]/g.test(value)) {
    callback(new Error("请输入字母"));
   } else {
    callback();
   }
  };
  oninput="value=value.replace(/[^0-9]/g,'');if(String(value)==='0'){value=1}"

3.手机号

  const validatephone  = (rule, value, callback) => {
    var reg = /^1[3456789]\d{9}$/;
    if(!reg.test(value)){
      callback(new Error("请输入正确的手机号"));
    } else {
      callback();
    }
  };

4.邮箱校验

// 邮箱校验
export function validateEmail(rule, value, callback) {
  if (value === "") {
    callback();
  } else if (
    !/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/.test(value)
  ) {
    callback(new Error("邮箱格式错误"));
  } else {
    callback();
  }
}

5.校验正整数

// 校验正整数
export function validateLimit(rule, value, callback) {
  const reg = /(^[1-9]\d*$)/;
  if (!value) {
    callback(new Error("请输入"));
  } else if (!reg.test(value) || value <= 0) {
    callback(new Error("请输入正整数"));
  } else {
    callback();
  }
}

6.身份证号校验

// 身份证号校验
export function validateIdCard(rule, value, callback) {
  if (value === "") {
    callback(new Error("身份证号不能为空"));
  } else if (!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(value)) {
    callback(new Error("身份证号格式错误"));
  } else {
    callback();
  }
}

7.验证2~16为范围内的字符

//  验证2~16为范围内的字符
export const validateAcount = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入"));
  } else if (!/[a-zA-Z0-9\u4e00-\u9fa5]{2,16}$/.test(value)) {
    callback(new Error(`请输入长度2-16的字符`));
  } else {
    callback();
  }
};

8.验证数字位数范围4-6位

// 验证数字位数范围4-6位
export const validateTwoInteger = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入"));
  } else if (value.toString().length < 4 || value.toString().length > 6) {
    callback(new Error(`请输入长度4-6的字符`));
  } else {
    callback();
  }
};

9.电话号码星号

  setPhone() {
      return this.form.supplier.telephone.replace(
        /^(\d{3})\d{4}(\d+)/,
        '$1****$2'
      );
    }

10.邮箱

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

11.电话

export function validateMobile(mobile) {
    const regex = /^1[3456789]\d{9}$/;
    return regex.test(mobile);
}

12.空格换行中文逗号等转换英文逗号

export function chineseChar2englishChar(chineseChar){
    // 将单引号‘’都转换成',
    let str=chineseChar.replace(/(\n)|(\s)|(\t)|(\')|(')|(,)/g,',')
     str=str.replace(//g,",");
    return str;
}

13.截取url里的token

// 示例 URL
var url = "https://example.com/api?token=abc123";
 
// 使用正则表达式提取 Token
var regex = /[?&]token=([^&#]+)/; // 匹配 ? 或 & 后面跟 token= 开头的部分
var match = url.match(regex);
if (match) {
    var token = decodeURIComponent(match[1]); // 对 URI 进行解码
    console.log("Token:", token);
} else {
    console.log("未找到 Token");
}

14.密码必须包含数字、字母、特殊符号且大于8位校验

export function validatePassword(password){
    const regex = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,}$/
    return regex.test(password);
}

##电话号码转星号

 judgeCard(val) {
      if (!val) return ''
      let reg = /^(.{3}).*(.{2})$/
      return val.replace(reg, '$1*************$2')
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiojio冲冲冲

能帮助你是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值