ElementUi配置自定义校验规则-校验IP和IP段

简介: ElementUi配置自定义校验规则-校验IP和IP段
data() {
  const isValidIp = (rule, value, callback) => { // 校验IP是否符合规则
    var regEx = /,/g
    var ipList = value.toString().replace(regEx, ',').split(',')
    var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
    for (var i in ipList) {
      if (!reg.test(ipList[i])) {
        return callback(new Error('请输入节点ip地址,多节点用,分隔'))
      } else {
        callback()
      }
    }
    return true
  }
  return {
    form: {
      name: '',
      accCode: '',
      ip: '',
      nodeIp: ''
    },
    accList: [],
    rules: {
      name: [{ required: true, message: '请输入', trigger: 'blur' }],
      accCode: [{ required: true, message: '请选择', trigger: 'blur' }],
      ip: [{ required: true, message: '请输入', trigger: 'blur' }],
      nodeIp: [{ required: true, validator: isValidIp, message: '请输入', trigger: 'blur' }]
    }
  }
},
import { isValidIp } from '../../../utils/validate'
const validIp = (rule, value, callback) => {
      // 校验IP是否符合规则
      if (!isValidIp(value) {
        return callback(new Error('请输入节点ip地址,多节点用,分隔'))
      }else {
        callback()
      }
    }
/**
 * @param {Array} arg
 * @returns {Boolean}
 */
export function isValidIp(arg) {
  var regEx = /,/g
  var ipList = arg.toString().replace(regEx, ',').split(',')
  var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
  for (var i in ipList) {
    if (!reg.test(ipList[i])) {
      return false
    }else {
        callback()
      }
  }
  return true
}

同时校验IP和IP段

function isValidIp(arg) {
  var regEx = /,/g
  var ipList = arg.toString().replace(regEx, ',').split(',')
  var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
  var pattern = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\/(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
  for (var i in ipList) {
    if (!reg.test(ipList[i]) && !pattern.test(ipList[i])) {
      return false
    }else {
        callback()
      }
  }
  return true
}
相关文章
|
14天前
Ip校验规则:以,分割IP字符串
Ip校验规则:以,分割IP字符串
8 0
|
1月前
有关elementUI el-form表单配置了校验规则但是反向校验问题
有关elementUI el-form表单配置了校验规则但是反向校验问题
28 2
|
3月前
|
SQL 测试技术 数据安全/隐私保护
密码组件校验规则该如何测试?
密码组件校验规则该如何测试?
|
3月前
|
数据格式 Python
添加 自定义校验方法,让用户自定义校验规则
添加 自定义校验方法,让用户自定义校验规则
40 0
|
Java
输入源“/body/sub_mchid”映射到字段“子商户号”必填性规则校验失败,此字段为必填项
输入源“/body/sub_mchid”映射到字段“子商户号”必填性规则校验失败,此字段为必填项
573 0
|
PHP
TP5验证规则自定义
TP5验证规则自定义
146 0
|
安全 Java 开发者
路由访问映射规则|学习笔记
快速学习路由访问映射规则
104 0

热门文章

最新文章