广州矛调粤政易端
xusd
7 days ago d27794814b69d18aeb8ee96a46cae91d5613570c
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
/**
 * 手机号码正则校验
 * @param value 需要校验值
 * @returns {boolean}
 */
const phone = (value) => /(^[0-9]{8}$)|(^1[3-9][0-9]{9}$)/.test(value);
 
/**
 * email 地址校验
 * @param value 需要校验值
 * @returns {boolean}
 */
const email = (value) => /^([a-zA-Z0-9\u4e00-\u9fa5]+[_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(value);
 
/**
 * 数值范围校验
 * @param min 最小值
 * @param max 最大值
 * @param value 需要校验值
 * @returns {boolean}
 */
const range = (min, max, value) => value >= min && value <= max;
 
/**
 * 是否为纯英文
 * @param value 需要校验值
 * @returns {boolean}
 */
const en = (value) => /(^[A-Za-z]+$)/.test(value);
 
/**
 * 是否为纯中文
 * @param value 需要校验值
 * @returns {boolean}
 */
const cn = (value) => /(^[\u4e00-\u9fa5]{0,}$)/.test(value);
 
/**
 * 是否为金钱数字
 * @param value 需要校验值
 * @returns {boolean}
 */
const money = (value) => /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(`${value}`);
 
/**
 * 是否字母数字组合
 * @param value 需要校验值
 * @returns {boolean}
 */
const code = (value) => /(^[A-Za-z0-9]+$)/.test(value);
 
/**
 * 是否为纯数字
 * @param value 需要校验值
 * @returns {boolean}
 */
const number = (value) => /^[0-9]+.?[0-9]*$/.test(`${value}`);
 
/**
 * 是否为 ip 地址
 * @param value 需要校验值
 * @returns {boolean}
 */
const ip = (value) =>
    /^(\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])$/.test(
        value
    );
 
/**
 * 是否为合法 url
 * @param value 需要校验值
 * @returns {boolean}
 */
const url = (value) => /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(value);
 
// 清除字符串中的空格,用于判断是否为空
function verifyEmpty(value) {
    return value?.toString().replace(/\s+/g, '');
}
 
// 特殊字符校验
var punctuation = (value) => new RegExp("[`~!@#$^&*()=|{}':;'\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、? ]").test(`${value}`);
 
const obj = { phone, email, range, en, cn, money, number, ip, url, verifyEmpty, punctuation };
 
export default obj;