共计 1770 个字符,预计需要花费 5 分钟才能阅读完成。
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
}
正文完