// 只能为数字验证
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 = /^[a-zA-Z]{2,15}$/;
  if (!value) {
    callback(new Error("请输入英文名称"));
  } else if (!reg.test(value)) {
    callback(new Error("格式为字母a-z,A-Z,2~15位"));
  } else {
    callback();
  }
};
// 验证账号
export const changeAccount = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入用户名"));
  } else if (!/^[a-zA-Z0-9_-]{4,16}$/.test(value)) {
    callback(new Error("4到16位(字母,数字,下划线,中横线)"));
  } else {
    callback();
  }
};

// 验证密码
export const changePassWord = (rule, value, callback) => {
  if (!value) {
    callback(new Error("请输入密码"));
  } else if (
    !/^\S*(?=\S{8,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*()_+{}|:;<>,.?~])\S*$/.test(
      value
    )
  ) {
    callback(
      new Error(
        "最少8位，包括至少1个大写字母，1个小写字母，1个数字，1个特殊字符"
      )
    );
  } 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("请输入窗口编号"));
    callback();
  } else if (!/^[a-zA-Z]+\d{1,3}$/.test(value)) {
    callback(new Error("字母+数字，数字不能大于999"));
  } 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();
  }
};
