This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nezha-nezha-fronted/nezha-fronted/src/components/common/js/validate.js

184 lines
5.5 KiB
JavaScript
Raw Normal View History

import vm from '../../../main'
2021-03-19 18:52:19 +08:00
// ipv4 ip校验
export function host (rule, value, callback) {
if (!value || value.trim() == '') {
callback()
}
const hostReg = /^(\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{0,5})?$/
setTimeout(() => {
if (hostReg.test(value)) {
callback()
} else {
callback(new Error(vm.$t('validate.host')))
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function hostPlus (rule, value, callback) {
if (!value || value.trim() == '') {
callback()
}
const ipv4 = /^(\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{0,5})?$/
const ipv6 = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/
2021-03-19 18:52:19 +08:00
const domin = /^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/
setTimeout(() => {
if (ipv4.test(value) || ipv6.test(value) || domin.test(value)) {
callback()
} else {
callback(new Error(vm.$t('validate.host')))
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function phone (rule, value, callback) {
const phoneReg = /^1[3|4|5|7|8][0-9]{9}$/
setTimeout(() => {
if (!value) {
callback()
} else if (!Number.isInteger(+value)) {
callback(new Error(vm.$t('validate.tel')))
} else {
if (phoneReg.test(value)) {
callback()
} else {
callback(new Error(vm.$t('validate.tel')))
}
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function port (rule, value, callback) {
setTimeout(() => {
if (!value) {
2021-03-19 18:52:19 +08:00
callback()
} else if (isNaN(Number(value))) {
callback(new Error(vm.$t('validate.number')))
2021-03-19 18:52:19 +08:00
} else {
if (value < 1 || value > 65535) {
2020-01-17 15:40:56 +08:00
callback(new Error(vm.$t('validate.port')))
2021-03-19 18:52:19 +08:00
} else {
callback()
2020-01-17 15:40:56 +08:00
}
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function nzNumber (rule, value, callback) {
setTimeout(() => {
if (!value) {
2021-03-19 18:52:19 +08:00
callback()
} else if (isNaN(Number(value))) {
callback(new Error(vm.$t('validate.number')))
2021-03-19 18:52:19 +08:00
} else {
callback()
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function noSpecialChar (rule, value, callback) {
const charReg = /^[a-z0-9A-Z-]+$/
setTimeout(() => {
if (charReg.test(value)) {
callback()
} else {
callback(new Error(vm.$t('validate.special')))
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function integer (rule, value, callback) {
2020-04-08 08:22:58 +08:00
setTimeout(() => {
2021-03-19 18:52:19 +08:00
if (isNaN(Number(value))) {
2020-04-08 08:22:58 +08:00
callback(new Error(vm.$t('validate.number')))
2021-03-19 18:52:19 +08:00
} else {
if (Number.isInteger(Number(value))) {
callback()
} else {
callback(new Error(vm.$t('validate.integer')))
2020-04-08 08:22:58 +08:00
}
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function positiveInteger (rule, value, callback) {
setTimeout(() => {
2021-03-19 18:52:19 +08:00
if (isNaN(Number(value))) {
callback(new Error(vm.$t('validate.number')))
2021-03-19 18:52:19 +08:00
} else {
if (Number(value) >= 0) {
callback()
} else {
callback(new Error(vm.$t('validate.positiveInteger')))
}
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function domain (rule, value, callback) {
const urlReg = /^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/
setTimeout(() => {
if (urlReg.test(value)) {
callback()
} else {
callback(new Error(vm.$t('validate.domain')))
}
}, 100)
}
2021-03-19 18:52:19 +08:00
export function uSize (rule, value, callback) {
2020-04-08 08:22:58 +08:00
setTimeout(() => {
2021-03-19 18:52:19 +08:00
if (isNaN(Number(value))) {
2020-04-08 08:22:58 +08:00
callback(new Error(vm.$t('validate.number')))
2021-03-19 18:52:19 +08:00
} else {
const num = Number(value)
if (num < 0 || num > 47) {
callback(new Error(vm.$t('validate.usize')))
2021-03-19 18:52:19 +08:00
} else {
callback()
2020-04-08 08:22:58 +08:00
}
}
}, 100)
}
2021-05-27 14:09:02 +08:00
export function checkAssetAge (rule, value, callback) {
setTimeout(() => {
if (value.length > 128) {
return callback(vm.$t('overall.checkAssetAge'))
} else {
callback()
}
}, 100)
}
export function checkExpressionAge (rule, value, callback) {
setTimeout(() => {
if (value.length > 64) {
return callback(vm.$t('overall.checkAssetAge'))
} else {
callback()
}
}, 100)
}
export function checkExprTempAge (rule, value, callback) {
setTimeout(() => {
if (value.length > 256) {
return callback(vm.$t('overall.checkAssetAge'))
} else {
callback()
}
}, 100)
}
export function arrLength (rule, value, callback) { // 校验经纬度
if (value.length > 0) {
callback()
} else {
callback(new Error(vm.$t('validate.required')))
}
}
2021-05-27 14:09:02 +08:00
export function longAndLat (rule, value, callback) { // 校验经纬度
}