vue的正則表達(dá)式

郵箱
extend("email", value => {
  //let re = /^([a-zA-Z0-9]+[_|\-|\.]?)+@([a-zA-Z0-9]+[_|\-|\.]?)+([a-zA-Z0-9]{1,})+\.[a-zA-Z]{2,}$/;
  // let re = /^[a-zA-Z0-9_-|\.|\-]+@[a-zA-Z0-9_-|\.|\-]+(\.[a-zA-Z]+)+$/;
  let re = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
  if (!re.test(value)) {
    return "請(qǐng)輸入正確的{_field_}";
  } else if (value.length > 50) {
    return "{_field_}不能超過(guò)50個(gè)字符";
  } else {
    return true;
  }
});
兩次輸入密碼不一致
extend("confirmed", {
  ...confirmed,
  message: "兩次密碼輸入不一致"
});
手機(jī)號(hào)
extend("mobile", value => {
  let re = /^1[3456789]\d{9}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的手機(jī)號(hào)碼";
});
手機(jī)號(hào)(僅供api管理服務(wù)應(yīng)用使用)
extend("mobiles", value => {
  let re = /^1[0123456789]\d{9}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的手機(jī)號(hào)碼";
});
只支持字母和數(shù)字
extend("LettersandNumbers", value => {
  let re = /^[A-Za-z0-9]+$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由數(shù)字刑赶、字母組成)";
});
輸入框不為空
extend("required", {
  ...required,
  message: "請(qǐng)輸入{_field_}"
});
賬號(hào)不支持中文 只能以字母開(kāi)頭 長(zhǎng)度為6-32個(gè)字符 至少包含英文字母、數(shù)字或特殊字符(-_)中的兩種
extend("eNameNum", value => {
  //let re = /(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{8,12}/;
  let re = /^[a-zA-Z][\w\(\)\-]{6,32}$/;
  let reg = /^[A-Za-z]+$/;
  if (re.test(value) && !reg.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由6~32位大/小寫字母懂衩,數(shù)字組合)";
});
下拉框不為空
extend("selected", {
  ...required,
  message: "請(qǐng)選擇{_field_}"
});
復(fù)選框不為空
extend("checked", {
  ...required,
  message: "請(qǐng)勾選{_field_}"
});
數(shù)字和字母
extend("alpha_num", {
  ...required,
  message: "只能輸入數(shù)字和字母"
});
最小
extend("min", {
  validate(value, args) {
    return value.toString().length >= args.length;
  },
  params: ["length"],
  message: "長(zhǎng)度不能少于 {length} 個(gè)字符"
});
最大
extend("max", {
  validate(value, args) {
    return value.toString().length <= args.length;
  },
  params: ["length"],
  message: "長(zhǎng)度不能超過(guò) {length} 個(gè)字符"
});
上傳文件不能為空
extend("file", {
  ...required,
  message: "請(qǐng)上傳{_field_}"
});
字段最大字符撞叨,提示里面還有字段label,maxHasLabel:20
extend("maxHasLabel", {
  validate(value, args) {
    return value.length <= args.length;
  },
  params: ["length"],
  message: "{_field_}不能超過(guò){length}個(gè)字符"
});
區(qū)間范圍 只能輸入?yún)^(qū)間的字母或數(shù)字
extend("section", {
  validate(value, args) {
    let temp = args.section.split("-");
    if (value.length >= temp[0] && value.length <= temp[1]) {
      return /^[0-9a-zA-Z]*$/g.test(value);
    }
    return false;
  },
  params: ["section"],
  message: "請(qǐng)輸入{section}位數(shù)字或字母"
});
3.自定義
extend("num", value => {
  let re = /^[0-9]+$/;
  if (re.test(value)) {
    return true;
  }
  return "只能輸入數(shù)字";
});
大于1的正整數(shù)
extend("nums", value => {
  let re = /^\+?[1-9]\d*$/;
  if (re.test(value)) {
    return true;
  }
  return "只能輸入大于0的正整數(shù)";
});
只能輸入數(shù)字,切保留兩位小數(shù)
extend("numss", value => {
  let re = /^\d+(\.\d{1,2})?$/;
  if (re.test(value) && Number(value) > 0) {
    return true;
  }
  return "只能輸入大于0的數(shù)字,且保留兩位小數(shù)";
});
正確的url跳轉(zhuǎn)地址
extend("url", value => {
  let re = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的產(chǎn)品地址";
});
菜單編碼,MENU+6位數(shù)字
extend("menuCode", value => {
  let re = /^MENU\d{6}$/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}格式錯(cuò)誤";
});
菜單順序浊洞,僅1-8位正整數(shù)
extend("menuOrder", value => {
  let re = /^[1-9]\d{0,7}$/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}格式錯(cuò)誤";
});
extend("eNameNum", value => {
  //let re = /(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{8,12}/;
  let re = /^[a-zA-Z][\w\(\)\-]{6,32}$/;
  let reg = /^[A-Za-z]+$/;
  if (re.test(value) && !reg.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由6~32位大/小寫字母牵敷,數(shù)字組合)";
});
連接地址:http://* | https://*
extend("httpUrl", value => {
  let re = /^(http|https):\/\/([\w.]+\/?)\S/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}格式錯(cuò)誤";
});
url地址,可以不用http開(kāi)頭
extend("looseUrl", value => {
  let re = /^((http|https):\/\/)?([\w.]+\/?)\S/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}格式錯(cuò)誤";
});
8-32位帶大小寫法希,數(shù)字枷餐,特殊字符任意兩種 (?!([^(0-9a-zA-Z)])+$)
extend("checkPassword", value => {
  // let re = /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{8,32}$/;
  var re = /^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S{8,32}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入8-32個(gè)字符,至少包含大寫字母、小寫字母苫亦、數(shù)字和特殊字符中的兩種";
});
不能輸入中文
extend("notChinese", value => {
  let re = /^[^\u4e00-\u9fa5]+$/;
  if (re.test(value)) {
    return true;
  }
  return "不能包含中文";
});
由中文字符毛肋、英文字母怨咪、數(shù)字、中劃線润匙、下劃線/.
extend("mixedInput", value => {
  let re = /^[\u4e00-\u9fa5_a-zA-Z0-9-_.]+$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由中文字符诗眨、英文字母、數(shù)字孕讳、中劃線辽话、下劃線和點(diǎn)組成)";
});
由字母、漢字卫病、“?”
extend("pointStr", value => {
  let re = /^[\u4e00-\u9fa5_a-zA-Z_·]+$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由字母油啤、漢字和點(diǎn)組成)";
});
輸入小數(shù)(默認(rèn)是小數(shù)點(diǎn)前八位后兩位)
extend("decimalNum", (value, args) => {
  let pointS = Number(args[0]) || 7;
  let pointE = Number(args[1]) || 2;
  let reg = new RegExp(
    `^[+-]?(0|([1-9]\\d{0,${pointS}}))(\\.\\d{1,${pointE}})?$`,
    "g"
  );
  let res = reg.test(value);
  if (!res) {
    return `最多輸入小數(shù)點(diǎn)前${pointS + 1}位和小數(shù)點(diǎn)后${pointE}位`;
  }
  return true;
});
數(shù)字限制
extend("decimalLeval", (value, args) => {
  let min = Number(args[0]);
  let max = Number(args[1]);
  try {
    let cur = Number(value);
    if (cur >= min && cur <= max) {
      return true;
    }
    return `只能輸入${min}到${max}范圍的值`;
  } catch (e) {
    return "請(qǐng)輸入小數(shù)";
  }
});
數(shù)字限制2
extend("decimalLeval2", (value, args) => {
  let min = Number(args[0]);
  let max = Number(args[1]);
  let len = 0;
  if (value.toString().indexOf(".") >= 0) {
    len = value.split(".")[1].length;
  }
  try {
    let cur = Number(value);
    if (cur >= min && cur <= max && len <= 4) {
      return true;
    }
    return `只能輸入0.0001到99999999999999.9999范圍的值`;
  } catch (e) {
    return "請(qǐng)輸入小數(shù)";
  }
});
PT- 廣告位編碼
extend("adCode", value => {
  let re = /^PT\_[a-zA-Z0-9]{1,10}_[a-zA-Z0-9]{1,10}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(格式:PT_index_banner)";
});
數(shù)字 字母 100字以內(nèi)
extend("productNum", value => {
  let re = /^ZB[a-zA-Z0-9]{1,100}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}";
});
只支持?jǐn)?shù)字字母漢字
extend("productName", value => {
  let re = /^[\u4E00-\u9FA5A-Za-z0-9]+$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由數(shù)字、字母蟀苛、漢字組成)";
});
extend("attrtNum", value => {
  let re = /[^\u4e00-\u9fa5]{1,100}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(100以內(nèi)慧妄,數(shù)字、字母损话、特殊字符組成)";
});
extend("strategyName", value => {
  let re = /^[a-zA-Z][0-9a-zA-Z]{0,100}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由字母開(kāi)頭序仙,數(shù)字、字母組成)";
});
屬性名稱 不允許特殊字符 18位以內(nèi)
///[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~裆甩!@#¥%&*()\-+={}|《》冗锁?:“”【】、嗤栓;‘’冻河,。茉帅、]/im;
extend("accessControl", value => {
  // ^[a-zA-Z\u4e00-\u9fa5][\u4e00-\u9fa5a-zA-Z-z0-9]$
  let re = /^[a-zA-Z\u4e00-\u9fa5][\u4e00-\u9fa5a-zA-Z-z0-9]{0,49}$/;
  if (re.test(value)) {
    return true;
  }
  return "由中文叨叙、數(shù)字、字母組成,首字符不為數(shù)字";
});
屬性名稱 不允許特殊字符 18位以內(nèi)
///[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~堪澎!@#¥%&*()\-+={}|《》擂错?:“”【】、樱蛤;‘’钮呀,。昨凡、]/im;

extend("attrName", value => {
  let re = /^[\u4e00-\u9fa5a-zA-Z-z0-9]+$/im;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由中文爽醋、數(shù)字、字母組成)";
});
聯(lián)系電話 同時(shí)校驗(yàn)手機(jī)號(hào)和座機(jī)號(hào)
extend("telephone", value => {
  // let re = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/im;
  let re = /^[\(\)\s0-9-\+]{4,20}$/;

  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的聯(lián)系電話";
  // return "請(qǐng)輸入正確的{_field_}(手機(jī)或座機(jī)土匀,如 130******** 或 010-********)";
});
extend("selectRequired", {
  ...required,
  message: "請(qǐng)選擇{_field_}"
});
extend("productAreas", {
  ...required,
  message: "請(qǐng)選擇地區(qū)產(chǎn)品"
});
extend("selectMin", (value, args) => {
  if (value.length > 0) {
    return true;
  }
  return `請(qǐng)至少選擇${args[0]}項(xiàng)`;
});
最低折扣 0-10 精確到小數(shù)點(diǎn)后一位 的正則 ^(\d|10)(.\d)?$
extend("discount", value => {
  let re = /^\+?(?:\d(?:\.\d)?|10(?:\.0)?)$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入0-10之內(nèi)的數(shù)字子房,精確到小數(shù)點(diǎn)后1位";
});
最低折扣 0-10 精確到小數(shù)點(diǎn)后一位 的正則 ^(\d|10)(.\d)?$
extend("setDiscount", {
  validate(value, bpdata) {
    if (value == "0" || value > "1") {
      return "請(qǐng)輸入正確的折扣";
    }
    if (value == "" || value == null) {
      return "請(qǐng)輸入折扣";
    }
    if (bpdata[0] == "undefined" || bpdata[0] == "") {
      bpdata[0] = 0;
    }
    if (value > 0 && value < bpdata[0]) {
      return "客戶云廠商折扣不能低于伙伴最低折扣";
    }
    let re = /^\d+(\.\d{1,2})?$/;
    if (re.test(value)) {
      return true;
    }
    if (!isNaN(value) && typeof value === "number") {
      return true;
    }
    return "請(qǐng)輸入正確的折扣";
  }
});
extend("requiredData", {
  validate(value, discount) {
    if (discount[0] == "1") {
      return;
    }
  }
});
1-28的數(shù)字
extend("twoNum", value => {
  let re = /^[1-9]$|^[1][0-9]$|^[2][0-8]$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入1-28的數(shù)字";
});
1-28的數(shù)字
extend("orderRule", value => {
  let re = /^[0-9a-zA-Z,]*$/g;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}格式";
});
1-999的整數(shù)
extend("nineNum", value => {
  let re = /^\+?[1-9]{1}[0-9]{0,2}\d{0,0}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入1-999的整數(shù)";
});
0.01-9999999.99的數(shù)字
extend("ninesNum", value => {
  // let re = /^([1-9]\d{0,3}$)|(^0\.\d{1,2}$)|(^[1-9]\d{0,3}\.\d{2})$/;
  // if (re.test(value)) {
  //   return true;
  // }
  // return "請(qǐng)輸入0.01-9999999.99的數(shù)字";
  // var reg = /\d+(\.\d{0,2})?/

  if (value.indexOf(".") != -1) {
    let arr = value.split(".");
    if (arr[1].length > 2) {
      return "不能超過(guò)兩位小數(shù)";
    }
  }
  if (value <= 9999999.99 && value >= 0.01) {
    return true;
  } else {
    return "請(qǐng)輸入0.01-9999999.99的數(shù)字";
  }
});
比較時(shí)間大小
extend("after", {
  validate(value, _a) {
    var target = _a.target;
    if (!!!value || !!!target) return true;
    try {
      if (new Date(value) < new Date(target)) {
        return `{_field_}不能早于${_a.field}`;
      } else {
        return true;
      }
    } catch (error) {
      return "請(qǐng)輸入正確的時(shí)間格式";
    }
  },
  params: [
    {
      name: "target",
      isTarget: true
    },
    {
      name: "field"
    }
  ]
});
extend("before", {
  validate(value, _a) {
    var target = _a.target;
    if (!!!value || !!!target) return true;
    try {
      if (new Date(value) > new Date(target)) {
        return `{_field_}不能晚于${_a.field}`;
      } else {
        return true;
      }
    } catch (error) {
      return "請(qǐng)輸入正確的時(shí)間格式";
    }
  },
  params: [
    {
      name: "target",
      isTarget: true
    },
    {
      name: "field"
    }
  ]
});
extend("postattrName", value => {
  let re = /^[\u4e00-\u9fa5a-zA-Z-z0-9(\)(\)[\]<\>_{\}]+$/im;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由中文、數(shù)字、字母組成)";
});
撥款/回收金額 校驗(yàn) ---金額不能超出余額
extend("recycleamount", {
  validate(value, args = [0.01, 0.01]) {
    let amount = args[0],
      brokerAmount = args[1];
    if (Number(value) > Number(amount)) {
      return "撥款金額不能大于可撥款額度";
    }
    if (Number(value) > Number(brokerAmount)) {
      return "撥款金額不能大于客戶Broker余額";
    } else {
      return true;
    }
  }
});
extend("recoveryamount", {
  validate(value, args = [0.01]) {
    let amount = args[0];
    if (Number(value) > Number(amount)) {
      return "回收金額不能大于賬戶余額";
    } else {
      return true;
    }
  }
});
最大數(shù)字
extend("maxNum", {
  validate(value = 0, args = 0) {
    if (!value || isNaN(value)) {
      return "{_field_}格式不正確";
    }
    if (parseFloat(value) > parseFloat(args)) {
      return `{_field_}不能超過(guò)${args}`;
    }
    return true;
  }
});
最小數(shù)字
extend("minNum", {
  validate(value = 0, args = 0) {
    if (!value || isNaN(value)) {
      return "{_field_}格式不正確";
    }
    if (parseFloat(value) < parseFloat(args)) {
      return `{_field_}不能低于${args}`;
    }
    return true;
  }
});
金額 有效位數(shù)傳參证杭,默認(rèn)2位
extend("money", {
  validate(value, args = [2, 0, 99999999.99]) {
    // args[0] 保留位數(shù)
    // args[1] 最小值
    // args[2] 最大值
    let digit = args[0] || 2;
    let minNum = args[1] || 0;
    let maxNum = args[2] || 99999999.99;
    if (isNaN(Number(value))) {
      return `請(qǐng)輸入${minNum}~${maxNum}的數(shù)字`;
    }
    let re = new RegExp(
      `^(0|([1-9][0-9]*)|([0]\.[0-9]{1,2})|([1-9][0-9]*\.[0-9]{1,${digit}}))$`
    );
    if (digit == "0") {
      re = new RegExp(`^[1-9][0-9]*$`);
    }
    if (re.test(value)) {
      if (parseFloat(value) < minNum || parseFloat(value) > maxNum) {
        return `請(qǐng)輸入${minNum}~${maxNum}的數(shù)字`;
      } else {
        return true;
      }
    } else {
      let valStr = value + "";
      if (
        valStr.indexOf(".") !== -1 &&
        valStr.slice(valStr.indexOf(".") + 1).length > digit
      ) {
        return `小數(shù)點(diǎn)后僅支持兩位有效位數(shù)`;
      }
      return `請(qǐng)輸入${minNum}~${maxNum}的數(shù)字`;
    }
  }
});
數(shù)據(jù)權(quán)限包名稱 4-20位田度,輸入類型不包含除“下劃線”、“中劃線”解愤、“中英文小括號(hào)/中括號(hào)”以外的特殊字符镇饺。
extend("dataName", value => {
  let re = /^[\u4e00-\u9fa5_a-zA-Z0-9-_.\\(\\)\\【\\】\\(\\)\[.*\]]+$/;
  if (re.test(value)) {
    return true;
  }
  return "由中文字符、英文字母送讲、數(shù)字奸笤、中劃線、下劃線和中英文小括號(hào)/中括號(hào)組成";
});
最小值不能大于最大值
extend("mintomax", (value, args) => {
  if (args[0] == "" && args[1]) {
    return `請(qǐng)輸入最小值`;
  }
  if (args[1] == "" && args[0]) {
    return `請(qǐng)輸入最大值`;
  }
  let min = Number(args[0]);
  let max = Number(args[1]);
  if (min >= max) {
    return `最小值不能大于最大值`;
  } else {
    return true;
  }
});
IP校驗(yàn)
extend("IP", value => {
  let re = /^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])(\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)){2}(\.(1\d{2}|2[0-4]\d|25[0-4]|[1-9]\d|[1-9]))$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的IP";
});
數(shù)據(jù)權(quán)限包名稱 4-20位哼鬓,輸入類型不包含除“下劃線”监右、“中劃線”、“中英文小括號(hào)/中括號(hào)”以外的特殊字符异希。
extend("dataName", value => {
  let re = /^[\u4e00-\u9fa5_a-zA-Z0-9-_.\\(\\)\\【\\】\\(\\)\[.*\]]+$/;
  if (re.test(value)) {
    return true;
  }
  return "由中文字符健盒、英文字母、數(shù)字称簿、中劃線扣癣、下劃線和中英文小括號(hào)/中括號(hào)組成";
});
extend("phoneEmailRule", {
  ...required,
  message: "手機(jī)號(hào)/郵箱至少填一項(xiàng)"
});
由字母漢字組成{6,18}
extend("alphaChinese", value => {
  let re = /^[\u4e00-\u9fa5a-zA-Z-z]+$/im;
  if (re.test(value)) {
    return true;
  }
  return "由字母漢字組成";
});
由數(shù)字+字母 組成 [A-Za-z][A-Za-z0-9] 字母開(kāi)頭
extend("appCode", value => {
  let re = /^(?!^\d+$)(?!^[a-zA-Z]+$)[0-9a-zA-Z]$/;
  // let re= /^\d{3}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(英文字母開(kāi)頭,由4~32位大/小寫字母,數(shù)字組合)";
});
并發(fā)量
extend("concurrency", {
  validate(value, data) {
    if (value) {
      if (!data[0]) {
        return "請(qǐng)選擇單位";
      }
    }
    if (value && data[0]) {
      if (value > 1000) {
        return "并發(fā)量不得大于1000";
      }
    }
    return true;
  }
});

并發(fā)量2

extend("concurrency2", {
  validate(value, data) {
    console.log(value, data);
    if (value) {
      if (data == "null" || !data) {
        return "請(qǐng)輸入并發(fā)量";
      }
    }
    return true;
  }
});
配額
extend("appQuota", value => {
  if (value > 1000) {
    return "配額不得大于1000";
  }
  return true;
});
字母小寫
extend("letters", value => {
  let re = /^[a-zA-Z][a-zA-Z_]{1,31}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入英文字母";
});
1-100的整數(shù)(用于api管理憨降,后帶%)
extend("percentage", value => {
  let re = /^(1|([1-9]\d{0,1})|100)$/;
  //
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入1-100的整數(shù)";
});
只支持?jǐn)?shù)字字母漢字
extend("productNames", value => {
  let re = /^[\u4E00-\u9FA5A-Za-z0-9+*]+$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由*父虑、數(shù)字、字母授药、漢字組成)";
});
api管理--api名稱
extend("apiNames", value => {
  let re = /^[\u4E00-\u9FA50-9a-zA-Z]{1,49}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由漢字士嚎、數(shù)字、字母組成)";
});
api管理--轉(zhuǎn)義后參數(shù)
extend("apiSerParamNames", value => {
  let re = /^[a-zA-Z]{1,32}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由英文字母組成)";
});
api管理-參數(shù)名
extend("parameters", value => {
  let re = /^[a-zA-Z][a-zA-Z_]{1,32}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由字母開(kāi)頭烁焙,英文和下劃線組成)";
});
api管理-異常編碼
extend("validatePhones", value => {
  let re = /^[a-zA-Z][a-zA-Z0-9]{0,50}$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(由字母開(kāi)頭航邢,英文和數(shù)字組成)";
});
由字母組成 具體限制到{args}位
extend("letterNumConfine", {
  validate(value, args) {
    let re = /^[A-Za-z]+$/;
    if (!re.test(value)) {
      return `請(qǐng)輸入正確的{_field_}(由字母組成)`;
    }
    if (value.length != args) {
      return `只能輸入${args}位字母`;
    }
    return true;
  }
});
// extend("LimitingUnderline", value => {
//   let re = /^[\u4e00-\u9fa5-a-zA-Z0-9-@\!\#\¥\%\.\&\*\(\)\…\{\}\[\]\.\,\<\>\:\;\|\"]+$/;
//   if (re.test(value)) {
//     return true;
//   }
//   return "請(qǐng)輸入正確的{_field_}(由漢字、字母骄蝇、數(shù)字、除下劃線外組成)";
// });
匹配出下劃線以外所有的字符
extend("LimitingUnderline", value => {
  let re = /_/;
  if (!re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入正確的{_field_}(不包含下劃線)";
});
輸入框不為空
extend("requiredss", {
  ...required,
  message: "請(qǐng)輸入異常內(nèi)容"
});
不能以-+=@開(kāi)頭
extend("customName", value => {
  let re = /^(?![-=+@])/;
  if (re.test(value)) {
    return true;
  }
  return "不能以-=+@開(kāi)頭";
});
且不能是純特殊字符操骡、純數(shù)字九火、支持漢字、英文字母
extend("regex", value => {
  let re = /^[\u4e00-\u9fa5a-zA-Z0-9]*([a-zA-Z][0-9][\u4e00-\u9fa5]|[\u4e00-\u9fa5a-zA-Z])[\u4e00-\u9fa5a-zA-Z0-9]*$/;
  if (re.test(value)) {
    return true;
  }
  return "不能輸入純數(shù)字册招、純特殊字符,支持漢字岔激、英文字母";
});
支持0-64位數(shù)字、字母是掰、“-”“.”"
extend("backPaymentCode", value => {
  let re = /^[A-z0-9\-\.]{0,64}$/;
  if (re.test(value)) {
    return true;
  }
  return "支持0-64位數(shù)字虑鼎、字母、“-”“.”";
});
百分比
extend("percent", value => {
  let re = /^(1|([1-9]\d{0,1})|100)$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入1-100的整數(shù)";
});
0-32的數(shù)字
extend("percents", value => {
  let re = /^([0-9]|[1-2][0-9]|3[0-2])$/;
  if (re.test(value)) {
    return true;
  }
  return "請(qǐng)輸入0-32的數(shù)字";
});
機(jī)會(huì)點(diǎn)名稱
extend("chanceName", value => {
  let re = /^[\u4e00-\u9fa5a-zA-Z0-9]{4,16}$/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}僅支持4-16位數(shù)字、字母炫彩、漢字";
});
合同編號(hào)
extend("contractCode", value => {
  let re = /^[a-zA-Z0-9\-]{1,127}$/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}僅支持?jǐn)?shù)字匾七、字母、短連接線,最大可輸入127位";
});
合同名稱
extend("contractName", value => {
  let re = /^[\u4e00-\u9fa5a-zA-Z0-9]{1,127}$/;
  if (re.test(value)) {
    return true;
  }
  return "{_field_}僅支持?jǐn)?shù)字江兢、字母昨忆、漢字,最大可輸入127位";
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載杉允,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者邑贴。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市叔磷,隨后出現(xiàn)的幾起案子拢驾,更是在濱河造成了極大的恐慌,老刑警劉巖改基,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件独旷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡寥裂,警方通過(guò)查閱死者的電腦和手機(jī)嵌洼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)封恰,“玉大人麻养,你說(shuō)我怎么就攤上這事∨堤颍” “怎么了鳖昌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)低飒。 經(jīng)常有香客問(wèn)我许昨,道長(zhǎng),這世上最難降的妖魔是什么褥赊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任糕档,我火速辦了婚禮,結(jié)果婚禮上拌喉,老公的妹妹穿的比我還像新娘速那。我一直安慰自己,他們只是感情好尿背,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布端仰。 她就那樣靜靜地躺著,像睡著了一般田藐。 火紅的嫁衣襯著肌膚如雪荔烧。 梳的紋絲不亂的頭發(fā)上吱七,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音鹤竭,去河邊找鬼踊餐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛诺擅,可吹牛的內(nèi)容都是我干的市袖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烁涌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼苍碟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起撮执,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤微峰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后抒钱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蜓肆,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年谋币,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了仗扬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蕾额,死狀恐怖早芭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诅蝶,我是刑警寧澤退个,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站调炬,受9級(jí)特大地震影響语盈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缰泡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一刀荒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匀谣,春花似錦照棋、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)溶锭。三九已至宝恶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背垫毙。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工霹疫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人综芥。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓丽蝎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親膀藐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屠阻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容