Blame view

node_modules/uview-ui/libs/function/test.js 4.25 KB
c7add6cf   “wangming”   初始版本开发完毕
1
2
3
4
  /**

   * 验证电子邮箱格式

   */

  function email(value) {

25852764   unknown   s
5
  	return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);

c7add6cf   “wangming”   初始版本开发完毕
6
7
8
9
10
11
  }

  

  /**

   * 验证手机格式

   */

  function mobile(value) {

25852764   unknown   s
12
  	return /^1[3-9]\d{9}$/.test(value)

c7add6cf   “wangming”   初始版本开发完毕
13
14
15
16
17
18
  }

  

  /**

   * 验证URL格式

   */

  function url(value) {

25852764   unknown   s
19
  	return /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/.test(value)

c7add6cf   “wangming”   初始版本开发完毕
20
21
22
23
24
25
  }

  

  /**

   * 验证日期格式

   */

  function date(value) {

25852764   unknown   s
26
  	return !/Invalid|NaN/.test(new Date(value).toString())

c7add6cf   “wangming”   初始版本开发完毕
27
28
29
30
31
32
  }

  

  /**

   * 验证ISO类型的日期格式

   */

  function dateISO(value) {

25852764   unknown   s
33
  	return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)

c7add6cf   “wangming”   初始版本开发完毕
34
35
36
37
38
39
  }

  

  /**

   * 验证十进制数字

   */

  function number(value) {

25852764   unknown   s
40
  	return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value)

c7add6cf   “wangming”   初始版本开发完毕
41
42
43
44
45
46
  }

  

  /**

   * 验证整数

   */

  function digits(value) {

25852764   unknown   s
47
  	return /^\d+$/.test(value)

c7add6cf   “wangming”   初始版本开发完毕
48
49
50
51
52
53
  }

  

  /**

   * 验证身份证号码

   */

  function idCard(value) {

25852764   unknown   s
54
55
  	return /^[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)$/.test(

  		value)

c7add6cf   “wangming”   初始版本开发完毕
56
57
58
59
60
61
  }

  

  /**

   * 是否车牌号

   */

  function carNo(value) {

25852764   unknown   s
62
63
64
65
66
67
68
69
70
71
72
  	// 新能源车牌

  	const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;

  	// 旧车牌

  	const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;

  	if (value.length === 7) {

  		return creg.test(value);

  	} else if (value.length === 8) {

  		return xreg.test(value);

  	} else {

  		return false;

  	}

c7add6cf   “wangming”   初始版本开发完毕
73
74
75
76
77
78
  }

  

  /**

   * 金额,只允许2位小数

   */

  function amount(value) {

25852764   unknown   s
79
80
  	//金额,只允许保留两位小数

  	return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value);

c7add6cf   “wangming”   初始版本开发完毕
81
82
83
84
85
86
  }

  

  /**

   * 中文

   */

  function chinese(value) {

25852764   unknown   s
87
88
  	let reg = /^[\u4e00-\u9fa5]+$/gi;

  	return reg.test(value);

c7add6cf   “wangming”   初始版本开发完毕
89
90
91
92
93
94
  }

  

  /**

   * 只能输入字母

   */

  function letter(value) {

25852764   unknown   s
95
  	return /^[a-zA-Z]*$/.test(value);

c7add6cf   “wangming”   初始版本开发完毕
96
97
98
99
100
101
  }

  

  /**

   * 只能是字母或者数字

   */

  function enOrNum(value) {

25852764   unknown   s
102
103
104
  	//英文或者数字

  	let reg = /^[0-9a-zA-Z]*$/g;

  	return reg.test(value);

c7add6cf   “wangming”   初始版本开发完毕
105
106
107
108
109
110
  }

  

  /**

   * 验证是否包含某个值

   */

  function contains(value, param) {

25852764   unknown   s
111
  	return value.indexOf(param) >= 0

c7add6cf   “wangming”   初始版本开发完毕
112
113
114
115
116
117
  }

  

  /**

   * 验证一个值范围[min, max]

   */

  function range(value, param) {

25852764   unknown   s
118
  	return value >= param[0] && value <= param[1]

c7add6cf   “wangming”   初始版本开发完毕
119
120
121
122
123
124
  }

  

  /**

   * 验证一个长度范围[min, max]

   */

  function rangeLength(value, param) {

25852764   unknown   s
125
  	return value.length >= param[0] && value.length <= param[1]

c7add6cf   “wangming”   初始版本开发完毕
126
127
128
129
130
131
  }

  

  /**

   * 是否固定电话

   */

  function landline(value) {

25852764   unknown   s
132
133
  	let reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/;

  	return reg.test(value);

c7add6cf   “wangming”   初始版本开发完毕
134
135
136
137
138
139
  }

  

  /**

   * 判断是否为空

   */

  function empty(value) {

25852764   unknown   s
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
  	switch (typeof value) {

  		case 'undefined':

  			return true;

  		case 'string':

  			if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;

  			break;

  		case 'boolean':

  			if (!value) return true;

  			break;

  		case 'number':

  			if (0 === value || isNaN(value)) return true;

  			break;

  		case 'object':

  			if (null === value || value.length === 0) return true;

  			for (var i in value) {

  				return false;

  			}

  			return true;

  	}

  	return false;

c7add6cf   “wangming”   初始版本开发完毕
160
161
162
163
164
165
  }

  

  /**

   * 是否json字符串

   */

  function jsonString(value) {

25852764   unknown   s
166
167
168
169
170
171
172
173
174
175
176
177
178
  	if (typeof value == 'string') {

  		try {

  			var obj = JSON.parse(value);

  			if (typeof obj == 'object' && obj) {

  				return true;

  			} else {

  				return false;

  			}

  		} catch (e) {

  			return false;

  		}

  	}

  	return false;

c7add6cf   “wangming”   初始版本开发完毕
179
180
  }

  

25852764   unknown   s
181
  

c7add6cf   “wangming”   初始版本开发完毕
182
183
184
185
  /**

   * 是否数组

   */

  function array(value) {

25852764   unknown   s
186
187
188
189
190
  	if (typeof Array.isArray === "function") {

  		return Array.isArray(value);

  	} else {

  		return Object.prototype.toString.call(value) === "[object Array]";

  	}

c7add6cf   “wangming”   初始版本开发完毕
191
192
193
194
195
196
  }

  

  /**

   * 是否对象

   */

  function object(value) {

25852764   unknown   s
197
  	return Object.prototype.toString.call(value) === '[object Object]';

c7add6cf   “wangming”   初始版本开发完毕
198
199
200
201
202
203
  }

  

  /**

   * 是否短信验证码

   */

  function code(value, len = 6) {

25852764   unknown   s
204
  	return new RegExp(`^\\d{${len}}$`).test(value);

c7add6cf   “wangming”   初始版本开发完毕
205
206
  }

  

c7add6cf   “wangming”   初始版本开发完毕
207
208
  

  export default {

25852764   unknown   s
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
  	email,

  	mobile,

  	url,

  	date,

  	dateISO,

  	number,

  	digits,

  	idCard,

  	carNo,

  	amount,

  	chinese,

  	letter,

  	enOrNum,

  	contains,

  	range,

  	rangeLength,

  	empty,

  	isEmpty: empty,

  	jsonString,

  	landline,

  	object,

  	array,

  	code

c7add6cf   “wangming”   初始版本开发完毕
232
  }