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
}
相关文章
若依修改,改若依首页,若依修改了路由不出现如何解决,修改路由必须在permission.js中的白名单添加新的路由,修改了路由,不出现,解决方法是在白名单中添加对应的路径:
若依修改,改若依首页,若依修改了路由不出现如何解决,修改路由必须在permission.js中的白名单添加新的路由,修改了路由,不出现,解决方法是在白名单中添加对应的路径:
|
7月前
ElementUi配置自定义校验规则-校验IP和IP段
ElementUi配置自定义校验规则-校验IP和IP段
312 1
|
7月前
|
负载均衡 网络协议 数据安全/隐私保护
详解配置代理和IP设置的含义
详解配置代理和IP设置的含义
|
7月前
Ip校验规则:以,分割IP字符串
Ip校验规则:以,分割IP字符串
34 0
|
7月前
有关elementUI el-form表单配置了校验规则但是反向校验问题
有关elementUI el-form表单配置了校验规则但是反向校验问题
111 2
|
7月前
|
SQL 测试技术 数据安全/隐私保护
密码组件校验规则该如何测试?
密码组件校验规则该如何测试?
102 0
|
7月前
|
数据格式 Python
添加 自定义校验方法,让用户自定义校验规则
添加 自定义校验方法,让用户自定义校验规则
80 0
分组校验和自定义校验
分组校验和自定义校验
97 0

热门文章

最新文章