关于正则表达式进行自定义校验

包含几种规则:

1.格式“BIL1100”,规则:前三位是字母,后四位是数字。

      var validateNumber = (rule, value, callback) => {
        const age= /^[A-Za-z]{3}[0-9]{4}$/;
        if (!age.test(value)) {
          callback(new Error('格式不正确,例:“BIL1100”'));
        }else{
          callback();
        }
      };

 2.验证码,格式“ss11”,规则:四位。

      var validateCode = (rule, value, callback) => {
        const age= /^[0-9a-zA-Z]{4}$/;
        if (!age.test(value)) {
          callback(new Error('格式不正确,例:“ss11”'));
        }else{
          callback();
        }
      };

 3.密码,规则:6~16个字符,区分大小写。

      var validatePass1 = (rule, value, callback) => {
       const age= /^[0-9a-zA-Z]{6,16}$/;
        if (!age.test(value)) {
          callback(new Error('格式不正确,规则:6~16个字符,区分大小写。'));
        }else{
          callback();
        }
      };

 4. 问题描述,规则:不少于20个字符。

      var validateDescribe = (rule, value, callback) => {
       const age= /^[\u4e00-\u9fa5a-zA-Z0-9]{20,}$/;
        if (!age.test(value)) {
          callback(new Error('规则:不少于20个字符。'));
        }else{
          callback();
        }
      };

 5.数字

      var validateNodeid = (rule, value, callback) => {
        if (!Number.isInteger(value)) {
          callback(new Error('请输入数字值'));
        }else {
          callback();
        }
      };

 6.支持字母、数字、下划线、@、且至少包含一个字母,长度为8-30位

var validateName = (rule, value, callback) => {
  var regName = /(?=.*[a-zA-Z])^[a-zA-Z0-9_@]{8,30}$/;
  if(value === ''){
    callback(new Error('请输入用户名'));
  }
  else if(!regName.test(value.replace(' ',''))){
    callback(new Error('支持字母、数字、下划线、@、且至少包含一个字母,长度为8-30位'));
  }
  else {
    callback();
  }
};

 

 

后续会接着总结。

 

posted @ 2019-08-14 19:46  苏小落  阅读(1397)  评论(0编辑  收藏  举报