form表单验证、校准

一.onkeyup 

限制只可输入数字

<el-input

  style="width: 70%"

  οninput="if(value>2147483647)value='2147483647'"

  οnkeyup="value=value.replace(/[^\d]/g,'')"

  placeholder="请输入场所日常容纳人员数量"

  :readonly="readonly"

/>

二.pattern

aaWxpUnitPostcode: [{ pattern: /^[1-9]\d{5}(?!\d)$/g, required: false, message: '请输入正确的邮政编码', trigger: 'blur' }],

三.validator方法

confirmPassword: [
  { required: true, trigger: "blur", message: "请再次输入您的密码" },
  { required: true, validator: equalToPassword, trigger: "blur" }
],
const equalToPassword = (rule, value, callback) => {
  if (this.registerForm.password !== value) {
    callback(new Error("两次输入的密码不一致"));
  } else {
    callback();
  }
};

四.js校准

js可以校准手机号,身份证号、邮箱、网址等等,这里只做一个例子

放在 utils 下面的validate.js中
// 验证网址

export function validURL(url) {
  const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
  return reg.test(url)
}

使用

import { validURL } from '@/utils/validate'
if (validURL(URL)) {
  console.log(“是正确的网址”)
}

注意,若需验证数组,将prop改为需验证的数组,添加type:‘code’

<el-form-item prop="userIdList" label="选择所属库管员" style="display: block">
  <el-select v-model="form.userIdList" multiple >
    <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"></el-option>
  </el-select>
</el-form-item> 

userIdList: [{ type:‘array’ ,required: false, message: '请填写库管员', trigger: 'blur' }],

一些特殊符号正则表达式 

不能输入空格:^[^\s]*$

不能输入纯空格:^[^\s]+[\s]*.*$

可以输入字母(含大小写):^[A-Za-z]*$

包含大写字母和 [ 、\ 、] 、^ 、- 、:^[A-Z]*$

可以输入数字:^[0-9]*$

可以输入汉字:^[\u4e00-\u9fa5]*$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值