常见正则校验

手机号验证

export const validatePhone = (rule, value, callback) => {
  let reg = /^1[0-9]{10}$/
  if (!value) {
    callback(new Error('手机号码不能为空'))
  } else if (reg.test(value)) {
    callback()
  } else {
    callback(new Error('手机号码格式不正确'))
  }
}

密码验证

包含三种及以上类型:大写字母、小写字母、数字、特殊符号。长度为8-32位,特殊字符包括!@#$%^&*()_±=

export const validateAccountPwd = (rule, value, callback) => {
  var reg = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z_!@#$%^&*()-+=]+$)(?![a-z0-9]+$)(?![a-z_!@#$%^&*()-+=]+$)(?![0-9_!@#$%^&*()-+=]+$)[a-zA-Z0-9_!@#$%^&*()-+=]{8,32}$')
  if (!value) {
    callback(new Error('密码不能为空'))
  } else if (reg.test(value)) {
    callback()
  } else {
    callback(new Error('密码必须符合规范'))
  }
}

字符串验证

//由小写字母、数字、下划线(_)、中划线(-)组成,以字母开头
//字母或数字结尾,4-64个字符
export const validateSqlName = (rule, value, callback) => {
  let reg = /^[a-z][0-9a-z_-]*[0-9a-z]$/
  if (!value) {
    callback(new Error('数据库名称不能为空'))
  } else if (value.length > 64) {
    callback(new Error('名称长度不能超过64'))
  } else if (reg.test(value) && value.length <= 64) {
    callback()
  } else {
    callback(new Error('名称必须符合规范'))
  }
}
//只允许小写字母、数字、短横线且不能以短横线开头或结尾
let reg = /^(?!-)(?!.*?-$)[a-z0-9\-]*$/g

首字母大小写

// 首字母大写
export function titleCase(str) {
  return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
}
// 首字母小写
export function titleCase(str) {
  return str.replace(/^./, (L) => L.toLowerCase())
}

千分化

const thousandth= (num) => {
  return num.replace(new RegExp(`(?!^)(?=(\\d{3})+${num.includes('.') ? '\\.' : '$'})`, 'g'), ',')  
}


下划线转驼峰

// 下划线转驼峰
function toHump(name) {
    return name.replace(/\_(\w)/g, function(all, letter){
        return letter.toUpperCase();
    });
}
// 驼峰转下划线
export function camelCase(str) {
  return str.replace(/([A-Z])/g, "_$1").toLowerCase()
}

url验证

export const validateUrl = (rule, value, callback, row) => {
  let reg = /^[/][a-zA-Z0-9-/.%?#&]{2,80}(?<![/.%?#&])$/
  let { domain } = row
  if (domain && !value) {
    callback()
  }
  if (!reg.test(value)) {
    callback(new Error('请输入符合规范的url'))
  }
}

服务器IP验证

export const validateIp = (rule, value, callback) => {
  let reg = /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/
  if (!value) {
    callback(new Error('请输入服务器IP'))
  } else {
    if (reg.test(value)) {
      callback()
    }
    callback(new Error('请输入正确格式服务器IP'))
  }
}

域名验证

//域名校验
export const validateDomain = (rule, value, callback, row) => {
  let regL = /^[*]([.]{0,1})([a-zA-Z0-9]{1,63}[.])+[A-Za-z]{2,6}$/
  let regS = /^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)[.])+[A-Za-z]{2,6}$/
  let { url } = row
  if (url && !value) {
    callback()
  }
  if (!url && !value) {
    callback(new Error('域名和URL请至少填写一项'))
  }
  if (!regS.test(value) && !regL.test(value)) {
    callback(new Error('请输入符合规范的域名'))
  }
}
// 泛域名校验
export const validateWideDomain = (val) => {
  let reg = /^[*]([.]{0,1})([a-zA-Z0-9]{1,63}[.])+[A-Za-z]{2,6}$/
  if (reg.test(val)) {
    return true
  }
  return false
}

// 标准域名校验
export const validateNormalDomain = (val) => {
  let reg = /^((?!-)[a-zA-Z0-9-]{1,63}(?<!-)[.])+[A-Za-z]{2,6}$/
  if (reg.test(val)) {
    return true
  }
  return false
}

匹配某个字符前后的数据

		//--字符前数据
		var data='486451548  --  匹配前面字符';
		var reg = /([--][^/]+)$/;
        var str = data.replace(reg, "").trim();
        //"冒号:前面".match(/(\S*):/)[1];
        return str;
        //--字符后数据
        var data='486451548  --  匹配后面字符';
        var reg = /--(.*)/;
        var str = data.match(reg)[1].trim();
        //"冒号:后面".match(/:(\S*)/)[1];
        return str;

常见校验

		//请输入四位大写英文或数字
		var reg = /^[A-Za-z0-9]{4}$/;
        //请输入20位以内字符
        var reg = /^.{0,20}$/;
        //请输入1~99整数
        var reg = /^(([1-9][0-9])|[1-9])$/;
        //请输入0~20整数
        var reg=/^[0-9]|[1][0-9]{1}|[2]{0}$/;
        //请输入1-20整数
        var reg=/^([1-9]|1[0-9]|2[0])$/;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值