正则表达式应用

v-decorator与v-model不能一起使用,可以用setFieldsValue绑定值

this.forms.setFieldsValue({ name: val[0].name});

1、手机号验证

{ pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/, message: '请输入正确的联系方式', trigger: 'blur' }

2、中文验证

{ pattern: /^[\u4e00-\u9fa5]+$/, message: '请输入中文', trigger: 'blur' }

3、数字验证

{rules: [{ pattern: /^\d+$|^\d+[.]?\d+$/, message: '请输入数字',trigger: 'blur'}

4、不允许中文

{ pattern: /^[^\u4e00-\u9fa5]+$/, message: '不允许输入中文',trigger: 'blur'}

5、去掉html中的样式style(富文本框)

 repalceHtmlToText(str) {
        str = str.replace(/style="(.*)"/gi, '');
        return str;
    },

6、将html转化为纯文本

function repalceHtmlToText(str) {
        str = str.replace(/<\/?.+?>/g, "");
        str = str.replace(/&nbsp;/g, "");
        return str;
    }

7、js删除指定字符


var str = "blog.123csdn.net";

str = str.replace("123","")

8、身份证校验

const checkIDCard = (value: any) => {
    // 加权因子
    const weight_factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    // 校验码
    const check_code = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
    const code = value + ''
    const last = value[17]
    const seventeen = code.substring(0, 17)
    // ISO 7064:1983.MOD 11-2
    // 判断最后一位校验码是否正确
    const arr: any = seventeen.split('')
    const len = arr.length
    let num = 0
    for (let i = 0; i < len; i += 1) {
      num += arr[i] * weight_factor[i]
    }
    // 获取余数
    const resisue = num % 11
    const last_no = check_code[resisue]
    // 格式的正则
    // 正则思路
    /*
    第一位不可能是0
    第二位到第六位可以是0-9
    第七位到第十位是年份,所以七八位为19或者20
    十一位和十二位是月份,这两位是01-12之间的数值
    十三位和十四位是日期,是从01-31之间的数值
    十五,十六,十七都是数字0-9
    十八位可能是数字0-9,也可能是X
    */
    const idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/
    // 判断格式是否正确
    const format = idcard_patter.test(value)
    // 返回验证结果,校验码和格式同时正确才算是合法的身份证号码
    return last === last_no && format
  }

  const checkLength = (rule: any, value: any, callback: any) => {
    if (checkIDCard(value)) {
      return Promise.resolve()
    } else {
      return Promise.reject()
    }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值