Vue的自定义验证
文本域多IP或多域名,以*开头,以分号分隔
要记得写最后的 callback()
var validTextarea = (rule, value, callback) => {
var pattern = /^\*((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/ //IP的验证
var urlReg = /^\*((https|http|ftp|rtsp|mms){0,1}(:\/\/){0,1})www\.(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/i // 域名的验证
if (value === '') {
callback(new Error('请输入目标域名'))
} else {
var arr = value.split(';')
var result = []
for (var i in arr) {
result.push(pattern.test(arr[i]) || urlReg.test(arr[i]))
}
if(result.indexOf(false) != -1) {
callback(new Error('IP或域名请以*开头,多个IP及域名以(;)分隔 eg:*1.1.1.1;*www.baidu.com'))
} else {
callback()
}
}
}