hejianhao
2025-04-16 dab2d210ca06c1faa514c6388fbd5de1ab355360
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/* 合法uri*/
export function validURL(url) {
    const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
    return reg.test(url)
}
 
/* 小写字母*/
export function validLowerCase(str) {
    const reg = /^[a-z]+$/
    return reg.test(str)
}
 
/* 大写字母*/
export function validUpperCase(str) {
    const reg = /^[A-Z]+$/
    return reg.test(str)
}
 
/* 大小写字母*/
export function validAlphabets(str) {
    const reg = /^[A-Za-z]+$/
    return reg.test(str)
}
// 地区名称
export const DEPT_NAME = (rule, value, callback) => {
    const regExp = /^[\u4e00-\u9fa5\\0-9\\A-Za-z\\_-]{1,20}$/
    if (!value) return callback(new Error('不能为空'));
    if (regExp.test(value) === false) {
        callback(new Error('请输入中文、数字、大小写字母或下划线'))
    } else {
        callback()
    }
}
// 用户名
export const USER_NAME = (rule, value, callback) => {
    const regExp = /^[0-9\\A-Za-z\\_-]{1,20}$/
    if (!value) return callback(new Error('不能为空'));
    if (regExp.test(value) === false) {
        callback(new Error('请输入长度不超过20的数字、大小写字母或下划线'))
    } else {
        callback()
    }
}
 
// 姓名
export const NAME = (rule, value, callback) => {
    const regExp = /^[\u4e00-\u9fa5\\A-Za-z]{1,10}$/
    if (regExp.test(value) === false) {
        callback(new Error('请输入长度不超过10的中文或大小写字母'))
    } else {
        callback()
    }
}
// 数字验证
export const NUMBER = (rule, value, callback) => {
    const regExp = /^[0-9]+$/;
    if (value === '') return callback(new Error('不能为空'))
    if (regExp.test(value) === false) {
        callback(new Error('请输入数字'))
    } else {
        callback()
    }
}
// 数字验证
export const NUMBERMUST = (rule, value, callback) => {
    const regExp = /^\d+(\.\d+)?$/;
    if (regExp.test(value) === false) {
        callback(new Error('请输入数字或最多两位小数'))
    } else {
        callback()
    }
}
 
// 验证身份证
export const SHENFENZHENG = (rule, value, callback) => {
    const regExp = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
    if (regExp.test(value) === false) {
        if (value) {
            callback(new Error('身份证格式不正确'))
        } else {
            callback(new Error('身份证不能为空'))
        }
    } else {
        callback()
    }
}
// 手机验证
export const PHONE = (rule, value, callback) => {
    const regExp = /^([1][3,4,5,6,7,8,9])\d{9}$/
    if (regExp.test(value) === false) {
        callback(new Error('请输入正确的手机号码'))
    } else {
        callback()
    }
}
// 邮箱验证
export const E_MAIL = (rule, value, callback) => {
    const regExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
    if (regExp.test(value) === false) {
        callback(new Error('请输入正确的邮箱格式'))
    } else {
        callback()
    }
}
// 密码验证
export const PASSWORD = (rule, value, callback) => {
    if (value === '') {
        callback(new Error('请输入新密码'));
        return
    }
    const regExp = /^[0-9\\A-Za-z]{6,12}$/
    if (regExp.test(value) === false) {
        callback(new Error('密码由不超过6-12的数字和大小写字母组成'))
    } else {
        callback()
    }
}
// 备注
export const ROLE_REMARK = (rule, value, callback) => {
    if (value === '') return;
    const regExp = /^.{1,300}$/
    if (regExp.test(value) === false) {
        callback(new Error('备注不超过200位的中文、数字和大小写字母以及标点组成'))
    } else {
        callback()
    }
}
// 手机号验证
export function isvalidPhone(str) {
  const reg = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/
  return reg.test(str)
}
// 身份证号码验证
export function isIdcard(str) {
  const reg = /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/
  return reg.test(str)
}