mm_check 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +220 -220
  2. package/index.js +45 -35
  3. package/package.json +5 -5
  4. package/test.js +104 -104
package/README.md CHANGED
@@ -1,220 +1,220 @@
1
- # mm_check
2
-
3
- 这是超级美眉check参数验证模块,用于验证参数是否正确。本模块提供了一个强大的参数验证类,可以对各种类型的参数进行验证,包括字符串、数字、布尔值、数组和对象等。
4
-
5
- ## 安装
6
-
7
- ```bash
8
- npm install mm_check
9
- ```
10
-
11
- ## 基本使用
12
-
13
- ```javascript
14
- const Check = require('mm_check');
15
-
16
- // 创建验证实例
17
- const check = new Check({
18
- name: "username", // 参数名
19
- title: "用户名", // 参数介绍名
20
- type: "string", // 参数类型
21
- string: {
22
- notEmpty: true, // 非空验证
23
- min: 3, // 最小长度
24
- max: 20 // 最大长度
25
- }
26
- });
27
-
28
- // 验证参数
29
- const result = check.run("test_user");
30
- console.log(result); // 如果验证通过返回null,否则返回错误信息
31
- ```
32
-
33
- ## 参数配置说明
34
-
35
- ### 基础配置
36
-
37
- - `name`: 参数名称
38
- - `title`: 参数介绍名
39
- - `type`: 参数类型,支持 string、number、bool、dateTime、object、array
40
- - `splitter`: 分隔符号,用于查询时判断多个传参,默认为 "|"
41
- - `default`: 默认值
42
-
43
- ### 字符串验证配置 (string)
44
-
45
- ```javascript
46
- string: {
47
- notEmpty: false, // 是否非空
48
- min: 0, // 最小长度
49
- max: 0, // 最大长度
50
- range: [], // 长度范围,例:[6, 20]
51
- regex: "", // 正则表达式
52
- identical: "", // 验证与某个参数值是否相同
53
- different: "", // 验证与某个参数值是否不同
54
- extension: "", // 后缀名,多个用"|"分隔
55
- format: "" // 格式验证:email、url、date、dateISO、number、digits、phone
56
- }
57
- ```
58
-
59
- ### 数值验证配置 (number)
60
-
61
- ```javascript
62
- number: {
63
- min: 0, // 最小值
64
- max: 0, // 最大值
65
- range: [] // 数值范围,例:[0, 100]
66
- }
67
- ```
68
-
69
- ### 数组验证配置 (array)
70
-
71
- ```javascript
72
- array: {
73
- min: 0, // 最小成员数
74
- max: 0, // 最大成员数
75
- range: [], // 成员数范围
76
- type: "", // 成员类型:string、number、object
77
- object: [] // 成员为对象时的验证规则
78
- }
79
- ```
80
-
81
- ## 使用示例
82
-
83
- ### 1. 字符串验证
84
-
85
- ```javascript
86
- const userCheck = new Check({
87
- name: "username",
88
- title: "用户名",
89
- type: "string",
90
- string: {
91
- notEmpty: true,
92
- min: 3,
93
- max: 20,
94
- regex: "^[a-zA-Z0-9_]+$" // 只允许字母、数字和下划线
95
- }
96
- });
97
-
98
- console.log(userCheck.run("")); // 用户名(username) 不能为空
99
- console.log(userCheck.run("ab")); // 用户名(username) 最少需要输入 3 个字符
100
- console.log(userCheck.run("user@123")); // 用户名(username) 格式不正确
101
- ```
102
-
103
- ### 2. 数值验证
104
-
105
- ```javascript
106
- const ageCheck = new Check({
107
- name: "age",
108
- title: "年龄",
109
- type: "number",
110
- number: {
111
- min: 0,
112
- max: 120
113
- }
114
- });
115
-
116
- console.log(ageCheck.run(150)); // 年龄(age) 请输入不大于 120 的数值
117
- console.log(ageCheck.run(-1)); // 年龄(age) 请输入不小于 0 的数值
118
- ```
119
-
120
- ### 3. 数组验证
121
-
122
- ```javascript
123
- const tagsCheck = new Check({
124
- name: "tags",
125
- title: "标签",
126
- type: "array",
127
- array: {
128
- min: 1,
129
- max: 5,
130
- type: "string"
131
- }
132
- });
133
-
134
- console.log(tagsCheck.run([])); // 标签(tags) 数组的成员数不小于 1 个
135
- console.log(tagsCheck.run([1, 2, 3])); // 数组成员数据类型不正确, 应为string型
136
- ```
137
-
138
- ### 4. 对象验证
139
-
140
- ```javascript
141
- const userInfoCheck = new Check({
142
- name: "userInfo",
143
- title: "用户信息",
144
- type: "object",
145
- object: [
146
- {
147
- name: "name",
148
- title: "姓名",
149
- type: "string",
150
- string: {
151
- notEmpty: true
152
- }
153
- },
154
- {
155
- name: "age",
156
- title: "年龄",
157
- type: "number",
158
- number: {
159
- min: 0,
160
- max: 120
161
- }
162
- }
163
- ]
164
- });
165
-
166
- console.log(userInfoCheck.run({
167
- name: "",
168
- age: 150
169
- })); // 属性 -> 姓名(name) 不能为空
170
- ```
171
-
172
- ## 错误提示配置
173
-
174
- 可以通过 `lang` 方法自定义错误提示信息:
175
-
176
- ```javascript
177
- check.lang({
178
- notEmpty: "字段不能为空",
179
- minLength: "长度不能小于 {0} 个字符",
180
- maxLength: "长度不能超过 {0} 个字符",
181
- // ... 其他提示信息
182
- });
183
- ```
184
-
185
- ## API 参考
186
-
187
- ### Check 类
188
-
189
- #### 构造函数
190
-
191
- - `constructor(param)`: 创建一个新的验证实例
192
- - `param`: 验证配置对象
193
-
194
- #### 实例方法
195
-
196
- - `run(value, [config])`: 验证值是否正确
197
- - `value`: 要验证的值
198
- - `config`: 可选的验证配置,默认使用构造函数的配置
199
- - 返回:验证通过返回null,否则返回错误信息
200
-
201
- - `lang(obj)`: 获取或设置错误提示
202
- - `obj`: 设置的提示对象,为空则获取当前提示
203
- - 返回:错误提示集合
204
-
205
- - `msg(key, v1, v2)`: 获取错误提示
206
- - `key`: 语言包键
207
- - `v1`: 替换的词1
208
- - `v2`: 替换的词2
209
- - 返回:错误提示语句
210
-
211
- ## 注意事项
212
-
213
- 1. 使用前需要先安装 `mm_expand` 模块,因为本模块依赖于它。
214
- 2. 验证失败时返回的错误信息会自动包含参数名和标题。
215
- 3. 支持链式验证,可以同时设置多个验证规则。
216
- 4. 对于数组和对象的验证,支持递归验证其成员或属性。
217
-
218
- ## 许可证
219
-
220
- MIT
1
+ # mm_check
2
+
3
+ 这是超级美眉check参数验证模块,用于验证参数是否正确。本模块提供了一个强大的参数验证类,可以对各种类型的参数进行验证,包括字符串、数字、布尔值、数组和对象等。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install mm_check
9
+ ```
10
+
11
+ ## 基本使用
12
+
13
+ ```javascript
14
+ const Check = require('mm_check');
15
+
16
+ // 创建验证实例
17
+ const check = new Check({
18
+ name: "username", // 参数名
19
+ title: "用户名", // 参数介绍名
20
+ type: "string", // 参数类型
21
+ string: {
22
+ notEmpty: true, // 非空验证
23
+ min: 3, // 最小长度
24
+ max: 20 // 最大长度
25
+ }
26
+ });
27
+
28
+ // 验证参数
29
+ const result = check.run("test_user");
30
+ $.log.debug(result); // 如果验证通过返回null,否则返回错误信息
31
+ ```
32
+
33
+ ## 参数配置说明
34
+
35
+ ### 基础配置
36
+
37
+ - `name`: 参数名称
38
+ - `title`: 参数介绍名
39
+ - `type`: 参数类型,支持 string、number、bool、dateTime、object、array
40
+ - `splitter`: 分隔符号,用于查询时判断多个传参,默认为 "|"
41
+ - `default`: 默认值
42
+
43
+ ### 字符串验证配置 (string)
44
+
45
+ ```javascript
46
+ string: {
47
+ notEmpty: false, // 是否非空
48
+ min: 0, // 最小长度
49
+ max: 0, // 最大长度
50
+ range: [], // 长度范围,例:[6, 20]
51
+ regex: "", // 正则表达式
52
+ identical: "", // 验证与某个参数值是否相同
53
+ different: "", // 验证与某个参数值是否不同
54
+ extension: "", // 后缀名,多个用"|"分隔
55
+ format: "" // 格式验证:email、url、date、dateISO、number、digits、phone
56
+ }
57
+ ```
58
+
59
+ ### 数值验证配置 (number)
60
+
61
+ ```javascript
62
+ number: {
63
+ min: 0, // 最小值
64
+ max: 0, // 最大值
65
+ range: [] // 数值范围,例:[0, 100]
66
+ }
67
+ ```
68
+
69
+ ### 数组验证配置 (array)
70
+
71
+ ```javascript
72
+ array: {
73
+ min: 0, // 最小成员数
74
+ max: 0, // 最大成员数
75
+ range: [], // 成员数范围
76
+ type: "", // 成员类型:string、number、object
77
+ object: [] // 成员为对象时的验证规则
78
+ }
79
+ ```
80
+
81
+ ## 使用示例
82
+
83
+ ### 1. 字符串验证
84
+
85
+ ```javascript
86
+ const userCheck = new Check({
87
+ name: "username",
88
+ title: "用户名",
89
+ type: "string",
90
+ string: {
91
+ notEmpty: true,
92
+ min: 3,
93
+ max: 20,
94
+ regex: "^[a-zA-Z0-9_]+$" // 只允许字母、数字和下划线
95
+ }
96
+ });
97
+
98
+ $.log.debug(userCheck.run("")); // 用户名(username) 不能为空
99
+ $.log.debug(userCheck.run("ab")); // 用户名(username) 最少需要输入 3 个字符
100
+ $.log.debug(userCheck.run("user@123")); // 用户名(username) 格式不正确
101
+ ```
102
+
103
+ ### 2. 数值验证
104
+
105
+ ```javascript
106
+ const ageCheck = new Check({
107
+ name: "age",
108
+ title: "年龄",
109
+ type: "number",
110
+ number: {
111
+ min: 0,
112
+ max: 120
113
+ }
114
+ });
115
+
116
+ $.log.debug(ageCheck.run(150)); // 年龄(age) 请输入不大于 120 的数值
117
+ $.log.debug(ageCheck.run(-1)); // 年龄(age) 请输入不小于 0 的数值
118
+ ```
119
+
120
+ ### 3. 数组验证
121
+
122
+ ```javascript
123
+ const tagsCheck = new Check({
124
+ name: "tags",
125
+ title: "标签",
126
+ type: "array",
127
+ array: {
128
+ min: 1,
129
+ max: 5,
130
+ type: "string"
131
+ }
132
+ });
133
+
134
+ $.log.debug(tagsCheck.run([])); // 标签(tags) 数组的成员数不小于 1 个
135
+ $.log.debug(tagsCheck.run([1, 2, 3])); // 数组成员数据类型不正确, 应为string型
136
+ ```
137
+
138
+ ### 4. 对象验证
139
+
140
+ ```javascript
141
+ const userInfoCheck = new Check({
142
+ name: "userInfo",
143
+ title: "用户信息",
144
+ type: "object",
145
+ object: [
146
+ {
147
+ name: "name",
148
+ title: "姓名",
149
+ type: "string",
150
+ string: {
151
+ notEmpty: true
152
+ }
153
+ },
154
+ {
155
+ name: "age",
156
+ title: "年龄",
157
+ type: "number",
158
+ number: {
159
+ min: 0,
160
+ max: 120
161
+ }
162
+ }
163
+ ]
164
+ });
165
+
166
+ $.log.debug(userInfoCheck.run({
167
+ name: "",
168
+ age: 150
169
+ })); // 属性 -> 姓名(name) 不能为空
170
+ ```
171
+
172
+ ## 错误提示配置
173
+
174
+ 可以通过 `lang` 方法自定义错误提示信息:
175
+
176
+ ```javascript
177
+ check.lang({
178
+ notEmpty: "字段不能为空",
179
+ minLength: "长度不能小于 {0} 个字符",
180
+ maxLength: "长度不能超过 {0} 个字符",
181
+ // ... 其他提示信息
182
+ });
183
+ ```
184
+
185
+ ## API 参考
186
+
187
+ ### Check 类
188
+
189
+ #### 构造函数
190
+
191
+ - `constructor(param)`: 创建一个新的验证实例
192
+ - `param`: 验证配置对象
193
+
194
+ #### 实例方法
195
+
196
+ - `run(value, [config])`: 验证值是否正确
197
+ - `value`: 要验证的值
198
+ - `config`: 可选的验证配置,默认使用构造函数的配置
199
+ - 返回:验证通过返回null,否则返回错误信息
200
+
201
+ - `lang(obj)`: 获取或设置错误提示
202
+ - `obj`: 设置的提示对象,为空则获取当前提示
203
+ - 返回:错误提示集合
204
+
205
+ - `msg(key, v1, v2)`: 获取错误提示
206
+ - `key`: 语言包键
207
+ - `v1`: 替换的词1
208
+ - `v2`: 替换的词2
209
+ - 返回:错误提示语句
210
+
211
+ ## 注意事项
212
+
213
+ 1. 使用前需要先安装 `mm_expand` 模块,因为本模块依赖于它。
214
+ 2. 验证失败时返回的错误信息会自动包含参数名和标题。
215
+ 3. 支持链式验证,可以同时设置多个验证规则。
216
+ 4. 对于数组和对象的验证,支持递归验证其成员或属性。
217
+
218
+ ## 许可证
219
+
220
+ MIT
package/index.js CHANGED
@@ -89,7 +89,7 @@ class Check {
89
89
  * @param {Object} obj 设置的提示,可以为空,为空表示获取
90
90
  * @return {Object} 错误提示集合
91
91
  */
92
- Check.prototype.lang = function(obj) {
92
+ Check.prototype.lang = function (obj) {
93
93
  if (obj) {
94
94
  $.push($.lang.config[$.lang.now], obj, true);
95
95
  }
@@ -103,7 +103,7 @@ Check.prototype.lang = function(obj) {
103
103
  * @param {String} v2 替换的词2
104
104
  * @return {String} 返回错误语句
105
105
  */
106
- Check.prototype.msg = function(key, v1, v2) {
106
+ Check.prototype.msg = function (key, v1, v2) {
107
107
  var str = $.lang.get(key, v1, v2);
108
108
  if (str) {
109
109
  return str;
@@ -117,7 +117,7 @@ Check.prototype.msg = function(key, v1, v2) {
117
117
  * @param {Numbr} value 被验证的值
118
118
  * @return {String} 没通过返回信息, 否则返回空
119
119
  */
120
- Check.prototype.check_number = function(value, cg) {
120
+ Check.prototype.checkNumber = function (value, cg) {
121
121
  var range = cg.range;
122
122
  if (range.length === 2) {
123
123
  if (range[0] > value || range[1] < value) {
@@ -139,7 +139,7 @@ Check.prototype.check_number = function(value, cg) {
139
139
  * @param {Array} value 值
140
140
  * @return {String} 没通过返回信息, 否则返回空
141
141
  */
142
- Check.prototype.check_array = function(value, cg) {
142
+ Check.prototype.checkArray = function (value, cg) {
143
143
  var range = cg.range;
144
144
  if (range.length === 2) {
145
145
  if (range[0] > value.length || range[1] < value.length) {
@@ -168,7 +168,7 @@ Check.prototype.check_array = function(value, cg) {
168
168
  * @param {Object} value 值
169
169
  * @return {String} 没通过返回信息, 否则返回空
170
170
  */
171
- Check.prototype.check_object = function(value, cg) {
171
+ Check.prototype.checkObject = function (value, cg) {
172
172
  var msg = null;
173
173
  var len = cg.length;
174
174
  for (var i = 0; i < len; i++) {
@@ -186,7 +186,7 @@ Check.prototype.check_object = function(value, cg) {
186
186
  * @param {String} value 被验证的值
187
187
  * @return {String} 没通过返回信息,否则返回空
188
188
  */
189
- Check.prototype.check_string_range = function(value, cg) {
189
+ Check.prototype.checkStringRange = function (value, cg) {
190
190
  if (!cg) {
191
191
  return null;
192
192
  }
@@ -212,7 +212,7 @@ Check.prototype.check_string_range = function(value, cg) {
212
212
  * @param {String} value 被验证的值
213
213
  * @return {String} 没通过返回信息,否则返回空
214
214
  */
215
- Check.prototype.check_extension = function(value, cg) {
215
+ Check.prototype.checkExtension = function (value, cg) {
216
216
  if (!cg) {
217
217
  return null;
218
218
  }
@@ -240,13 +240,16 @@ Check.prototype.check_extension = function(value, cg) {
240
240
  * @param {String} value 被验证的值
241
241
  * @return {String} 没通过返回信息,否则返回空
242
242
  */
243
- Check.prototype.check_string_regex = function(value, cg) {
243
+ Check.prototype.checkStringRegex = function (value, cg) {
244
244
  if (!cg) {
245
245
  return null;
246
246
  }
247
247
  var rx = cg.regex;
248
- if (rx && !value.regex(rx)) {
249
- return this.msg('regex', rx);
248
+ if (rx) {
249
+ var exp = new RegExp(rx);
250
+ if (!exp.test(value)) {
251
+ return this.msg('regex', rx);
252
+ }
250
253
  }
251
254
  return null;
252
255
  };
@@ -256,23 +259,30 @@ Check.prototype.check_string_regex = function(value, cg) {
256
259
  * @param {String} value 被验证的值
257
260
  * @return {String} 没通过返回信息, 否则返回空
258
261
  */
259
- Check.prototype.check_string_format = function(value, cg) {
262
+ Check.prototype.checkStringFormat = function (value, cg) {
260
263
  if (!cg) {
261
264
  return null;
262
265
  }
263
266
  var fmt = cg.format;
264
- if (fmt) {
265
267
  var bl;
268
+ try {
266
269
  if (fmt === 'url' && value.indexOf('/') === 0) {
267
- bl = ("http://mm.elins.cn" + value).checkFormat(fmt);
270
+ ("http://mm.elins.cn" + value).isFormat(fmt);
271
+ bl = true;
268
272
  } else {
269
- bl = value.checkFormat(fmt);
270
- }
271
- if (!bl) {
272
- return this.msg(fmt);
273
+ value.isFormat(fmt);
274
+ bl = true;
273
275
  }
276
+ } catch (e) {
277
+ bl = false;
278
+ }
279
+
280
+ if (!bl) {
281
+ return this.msg(fmt, value);
282
+ }
283
+ else {
284
+ return null;
274
285
  }
275
- return null;
276
286
  };
277
287
 
278
288
  /**
@@ -280,19 +290,19 @@ Check.prototype.check_string_format = function(value, cg) {
280
290
  * @param {String} value 被验证的值
281
291
  * @return {String} 没通过返回信息,否则返回空
282
292
  */
283
- Check.prototype.check_string = function(value, cg) {
293
+ Check.prototype.checkString = function (value, cg) {
284
294
  if (value === '' && cg.notEmpty) {
285
295
  return this.msg('notEmpty');
286
296
  } else {
287
- var msg = this.check_string_range(value, cg);
297
+ var msg = this.checkStringRange(value, cg);
288
298
  if (!msg) {
289
- msg = this.check_string_format(value, cg);
299
+ msg = this.checkStringFormat(value, cg);
290
300
  }
291
301
  if (!msg) {
292
- msg = this.check_extension(value, cg);
302
+ msg = this.checkExtension(value, cg);
293
303
  }
294
304
  if (!msg) {
295
- msg = this.check_string_regex(value, cg);
305
+ msg = this.checkStringRegex(value, cg);
296
306
  }
297
307
  return msg;
298
308
  }
@@ -302,7 +312,7 @@ Check.prototype.check_string = function(value, cg) {
302
312
  * 创建消息头
303
313
  * @param {Object} cg 配置
304
314
  */
305
- Check.prototype.msg_head = function(cg) {
315
+ Check.prototype.msgHead = function (cg) {
306
316
  var head = cg.title ? cg.title : '';
307
317
  head += cg.name ? `(${cg.name}) ` : '';
308
318
  return head;
@@ -313,7 +323,7 @@ Check.prototype.msg_head = function(cg) {
313
323
  * @param {Object} value
314
324
  * @return {String} 没通过返回信息,否则返回空
315
325
  */
316
- Check.prototype.run = function(value, cg) {
326
+ Check.prototype.run = function (value, cg) {
317
327
  if (!cg) {
318
328
  cg = this;
319
329
  }
@@ -321,7 +331,7 @@ Check.prototype.run = function(value, cg) {
321
331
 
322
332
  var type = cg.type;
323
333
  if (value !== null && type) {
324
- var p = typeof(value);
334
+ var p = typeof (value);
325
335
  if (type !== p) {
326
336
  if (type === 'number') {
327
337
  if (p === 'string') {
@@ -334,7 +344,7 @@ Check.prototype.run = function(value, cg) {
334
344
  if (isNaN(val)) {
335
345
  msg = this.msg('number');
336
346
  } else {
337
- msg = this.check_number(Number(val), g);
347
+ msg = this.checkNumber(Number(val), g);
338
348
  }
339
349
  if (msg) {
340
350
  break;
@@ -344,11 +354,11 @@ Check.prototype.run = function(value, cg) {
344
354
  if (isNaN(value)) {
345
355
  msg = this.msg('number');
346
356
  } else {
347
- msg = this.check_number(Number(value), cg.number);
357
+ msg = this.checkNumber(Number(value), cg.number);
348
358
  }
349
359
  }
350
360
  } else {
351
- msg = this.check_number(value, cg.number);
361
+ msg = this.checkNumber(value, cg.number);
352
362
  }
353
363
  } else if (type === 'bool') {
354
364
  if (value !== 'true' && value !== 'false' && value !== '1' && value !== '0') {
@@ -356,7 +366,7 @@ Check.prototype.run = function(value, cg) {
356
366
  }
357
367
  } else if (type === 'array') {
358
368
  if (Array.isArray(value)) {
359
- msg = this.check_array(value, cg.array);
369
+ msg = this.checkArray(value, cg.array);
360
370
  } else {
361
371
  msg = this.msg('type', type);
362
372
  }
@@ -369,25 +379,25 @@ Check.prototype.run = function(value, cg) {
369
379
  var len = arr.length;
370
380
  var g = cg.string;
371
381
  for (var i = 0; i < len; i++) {
372
- msg = this.check_string(arr[i], g);
382
+ msg = this.checkString(arr[i], g);
373
383
  if (msg) {
374
384
  break;
375
385
  }
376
386
  }
377
387
  } else {
378
- msg = this.check_string(value, cg.string);
388
+ msg = this.checkString(value, cg.string);
379
389
  }
380
390
  } else if (type === 'number') {
381
- msg = this.check_number(value, cg.number);
391
+ msg = this.checkNumber(value, cg.number);
382
392
  } else if (type === 'object') {
383
393
  if (Array.isArray(value)) {
384
394
  msg = this.msg('type', type);
385
395
  } else {
386
- msg = this.check_object(value, cg.object);
396
+ msg = this.checkObject(value, cg.object);
387
397
  }
388
398
  }
389
399
  }
390
- return msg ? this.msg_head(cg) + msg : null;
400
+ return msg ? this.msgHead(cg) + msg : null;
391
401
  };
392
402
 
393
403
  if (global.$) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mm_check",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "这是超级美眉check参数验证模块,用于验证参数是否正确",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/qiuwenwu/mm_check.git"
11
+ "url": "git+https://gitee.com/qiuwenwu91/mm_check.git"
12
12
  },
13
13
  "keywords": [
14
14
  "check",
@@ -22,10 +22,10 @@
22
22
  "author": "邱文武",
23
23
  "license": "ISC",
24
24
  "bugs": {
25
- "url": "https://github.com/qiuwenwu/mm_check/issues"
25
+ "url": "https://gitee.com/qiuwenwu91/mm_check/issues"
26
26
  },
27
- "homepage": "https://github.com/qiuwenwu/mm_check#readme",
27
+ "homepage": "https://gitee.com/qiuwenwu91/mm_check#readme",
28
28
  "dependencies": {
29
- "mm_expand": "^1.8.3"
29
+ "mm_expand": "^2.0.0"
30
30
  }
31
31
  }
package/test.js CHANGED
@@ -5,7 +5,7 @@ const Check = require('./index.js');
5
5
  // var list = ck.lang({
6
6
  // idcard: "需为有效身份证号"
7
7
  // });
8
- // console.log(list);
8
+ // $.log.debug(list);
9
9
  // }
10
10
 
11
11
  async function test() {
@@ -17,114 +17,114 @@ async function test() {
17
17
  }
18
18
  var ck = new Check(config);
19
19
  var msg = ck.run("44142319910401801T");
20
- console.log(msg);
20
+ $.log.debug(msg);
21
21
  var msg = ck.run("44142319910401801X");
22
- console.log(msg);
22
+ $.log.debug(msg);
23
23
  }
24
24
 
25
- // async function test() {
26
- // var config = {
27
- // type: "string",
28
- // string: {
29
- // format: "url"
30
- // }
31
- // }
32
- // var ck = new Check(config);
33
- // var msg = ck.run("123123/123123");
34
- // console.log(msg);
35
- // var msg = ck.run("https://www.fman.top/?t=123");
36
- // console.log(msg);
37
- // }
25
+ async function test() {
26
+ var config = {
27
+ type: "string",
28
+ string: {
29
+ format: "url"
30
+ }
31
+ }
32
+ var ck = new Check(config);
33
+ var msg = ck.run("123123/123123");
34
+ $.log.debug(msg);
35
+ var msg = ck.run("https://www.fman.top/?t=123");
36
+ $.log.debug(msg);
37
+ }
38
38
 
39
- // async function test() {
40
- // var config = {
41
- // required: "all",
42
- // type: "string",
43
- // string: {
44
- // format: "dateISO"
45
- // // regex: "[0-9]+\.png"
46
- // // extension: "png|gif|jpg|jpeg|bmp"
47
- // // min: 100,
48
- // // max: 10,
49
- // // range: [0, 8]
50
- // }
51
- // };
52
- // var ck = new Check(config);
53
- // var msg = ck.run('1970-01-01 00:61:61');
54
- // console.log('1970-01-01 00:61:61', msg);
55
- // msg = ck.run('1970-01-01 00:59:59');
56
- // console.log('1970-01-01 00:59:59', msg);
57
- // msg = ck.run('1970.png');
58
- // console.log('1970.png', msg);
59
- // }
39
+ async function test() {
40
+ var config = {
41
+ required: "all",
42
+ type: "string",
43
+ string: {
44
+ format: "dateISO"
45
+ // regex: "[0-9]+\.png"
46
+ // extension: "png|gif|jpg|jpeg|bmp"
47
+ // min: 100,
48
+ // max: 10,
49
+ // range: [0, 8]
50
+ }
51
+ };
52
+ var ck = new Check(config);
53
+ var msg = ck.run('1970-01-01 00:61:61');
54
+ $.log.debug('1970-01-01 00:61:61', msg);
55
+ msg = ck.run('1970-01-01 00:59:59');
56
+ $.log.debug('1970-01-01 00:59:59', msg);
57
+ msg = ck.run('1970.png');
58
+ $.log.debug('1970.png', msg);
59
+ }
60
60
 
61
- // async function test() {
62
- // var config = {
63
- // title: "点赞",
64
- // name: "zan",
65
- // type: "array",
66
- // array: {
67
- // type: "object",
68
- // object: [{
69
- // title: "数量",
70
- // name: "num",
71
- // type: "object",
72
- // number: {
73
- // range: [3, 10]
74
- // }
75
- // }]
76
- // }
77
- // };
78
- // var ck = new Check(config);
79
- // // msg = ck.run([1, 2]);
80
- // // console.log(msg);
81
- // // var msg = ck.run(["成员1", "成员2"]);
82
- // var msg = ck.run([{
83
- // num: "成员1"
84
- // }, {
85
- // num: "成员2"
86
- // }]);
87
- // console.log(msg);
88
- // }
61
+ async function test() {
62
+ var config = {
63
+ title: "点赞",
64
+ name: "zan",
65
+ type: "array",
66
+ array: {
67
+ type: "object",
68
+ object: [{
69
+ title: "数量",
70
+ name: "num",
71
+ type: "object",
72
+ number: {
73
+ range: [3, 10]
74
+ }
75
+ }]
76
+ }
77
+ };
78
+ var ck = new Check(config);
79
+ // msg = ck.run([1, 2]);
80
+ // $.log.debug(msg);
81
+ // var msg = ck.run(["成员1", "成员2"]);
82
+ var msg = ck.run([{
83
+ num: "成员1"
84
+ }, {
85
+ num: "成员2"
86
+ }]);
87
+ $.log.debug(msg);
88
+ }
89
89
 
90
- // async function test() {
91
- // var config = {
92
- // "name": "name",
93
- // "title": "名称",
94
- // "description": "",
95
- // "type": "string",
96
- // "dataType": "varchar",
97
- // "string": {
98
- // "notEmpty": true
99
- // }
100
- // }
101
- // var ck = new Check(config);
102
- // var msg = ck.run("");
103
- // console.log(msg);
104
- // }
90
+ async function test() {
91
+ var config = {
92
+ "name": "name",
93
+ "title": "名称",
94
+ "description": "",
95
+ "type": "string",
96
+ "dataType": "varchar",
97
+ "string": {
98
+ "notEmpty": true
99
+ }
100
+ }
101
+ var ck = new Check(config);
102
+ var msg = ck.run("");
103
+ $.log.debug(msg);
104
+ }
105
105
 
106
- // async function test() {
107
- // var config = {
108
- // title: "点赞",
109
- // name: "zan",
110
- // type: "object",
111
- // object: [{
112
- // title: "数量",
113
- // name: "num",
114
- // type: "number",
115
- // number: {
116
- // range: [3, 10]
117
- // }
118
- // }]
119
- // };
120
- // var ck = new Check(config);
121
- // // var msg = ck.run(["成员1", "成员2"]);
122
- // // console.log(msg);
123
- // // msg = ck.run([1, 2]);
124
- // // console.log(msg);
125
- // var msg = ck.run({
126
- // num: 2
127
- // });
128
- // console.log(msg);
129
- // }
106
+ async function test() {
107
+ var config = {
108
+ title: "点赞",
109
+ name: "zan",
110
+ type: "object",
111
+ object: [{
112
+ title: "数量",
113
+ name: "num",
114
+ type: "number",
115
+ number: {
116
+ range: [3, 10]
117
+ }
118
+ }]
119
+ };
120
+ var ck = new Check(config);
121
+ // var msg = ck.run(["成员1", "成员2"]);
122
+ // $.log.debug(msg);
123
+ // msg = ck.run([1, 2]);
124
+ // $.log.debug(msg);
125
+ var msg = ck.run({
126
+ num: 2
127
+ });
128
+ $.log.debug(msg);
129
+ }
130
130
  test();