validate.js 2.94 KB
// 只能为数字验证
export function isNumber(rule, value, callback) {
  var number = /^\d+$/;
  if (!number.test(value)) {
    callback(new Error("格式有误,只能为数字"));
  } else {
    callback();
  }
}

// 验证流水编号
export const checkFlowNum = (rule, value, callback) => {
  let reg = /^[A-Z][a-zA-Z0-9]{3,32}$/;
  if (!value) {
    callback(new Error("请输入流水编号"));
  } else if (!reg.test(value)) {
    callback(new Error("格式为大写字母开头,4~32位"));
  } else {
    callback();
  }
};
// 验证英文
export const checkEn = (rule, value, callback) => {
  let reg = /^[0-9a-zA-Z\s]{2,40}$/;
  if (!value) {
    callback(new Error("请输入英文名称"));
  } else if (!reg.test(value)) {
    callback(new Error("格式为a-zA-Z0-9空格,2~40位"));
  } else {
    callback();
  }
};
// 验证业务名称长度
export const checkBusinessName = (rule, value, callback) => {
  let reg = value.length;
  if (!value) {
    callback(new Error("请输入业务名称"));
  } else if (reg > 40) {
    callback(new Error("业务名称不能超过40个字符"));
  } else {
    callback();
  }
};
// 验证账号
export const changeAccount = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入用户名"));
  } else if (!/^[a-zA-Z0-9_-]{2,16}$/.test(value)) {
    callback(new Error("2到16位(字母,数字,下划线,中横线)"));
  } else {
    callback();
  }
};

// 验证密码
export const changePassWord = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入密码"));
  } else if (!/^[a-zA-Z0-9_-]{2,18}$/.test(value)) {
    callback(new Error("2到18位(字母,数字,下划线,中横线)"));
  } else {
    callback();
  }
};
// 验证手机号码
export const changePhone = (rule, value, callback) => {
  if (!value) {
    // callback(new Error("请输入手机号"));
    callback();
  } else if (!/^1[3-9]\d{9}$/.test(value)) {
    callback(new Error("手机号码格式不正确"));
  } else {
    callback();
  }
};

// 验证座机号码
export const changeLandline = (rule, value, callback) => {
  if (!value) {
    // callback(new Error("请输入座机号"));
    callback();
  } else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) {
    callback(new Error("区号-电话号码"));
  } else {
    callback();
  }
};

// 窗口编号验证(字母加数字 数字不能大于1000)
export const changeWindowNumber = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入窗口编号"));
  } else if (
    value.match(/\d+/g) &&
    Math.max(...value.match(/\d+/g).map(Number)) > 1000
  ) {
    callback(new Error("数字不能大于1000"));
  } else {
    callback();
  }
};

// 校验编码
export const changeCodeNumber = (rule, value, callback) => {
  let reg = /^[a-zA-Z\d]{2,30}$/;
  if (!value) {
    callback(new Error("请输入编码"));
  } else if (!reg.test(value)) {
    callback(new Error("格式:数字,字母2至30位"));
  } else {
    callback();
  }
};