ph-utils 0.2.16 → 0.2.19
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.
- package/lib/index.js +4 -4
- package/lib/index_m.js +4 -4
- package/lib/validator.d.ts +2 -2
- package/lib/validator.js +10 -9
- package/lib/validator_m.d.ts +2 -2
- package/lib/validator_m.js +10 -9
- package/package.json +1 -1
package/lib/index.js
CHANGED
@@ -22,14 +22,14 @@ exports.isBlank = isBlank;
|
|
22
22
|
* @returns 屏蔽后的手机号,例如:123 **** 1234
|
23
23
|
*/
|
24
24
|
function shieldMobile(mobile) {
|
25
|
-
let x1 = Math.
|
26
|
-
let x2 = Math.
|
25
|
+
let x1 = Math.floor(mobile.length / 2);
|
26
|
+
let x2 = Math.ceil(x1 / 2);
|
27
27
|
let shields = [' '];
|
28
|
-
for (let i = 0; i < x1; i++) {
|
28
|
+
for (let i = 0; i < x1 - 1; i++) {
|
29
29
|
shields.push('*');
|
30
30
|
}
|
31
31
|
shields.push(' ');
|
32
|
-
return mobile.substring(0, x2) + shields.join('') + mobile.substring(x2 + x1);
|
32
|
+
return (mobile.substring(0, x2) + shields.join('') + mobile.substring(x2 + x1 - 1));
|
33
33
|
}
|
34
34
|
exports.shieldMobile = shieldMobile;
|
35
35
|
/**
|
package/lib/index_m.js
CHANGED
@@ -18,14 +18,14 @@ export function isBlank(str, ignoreWhitespace = true) {
|
|
18
18
|
* @returns 屏蔽后的手机号,例如:123 **** 1234
|
19
19
|
*/
|
20
20
|
export function shieldMobile(mobile) {
|
21
|
-
let x1 = Math.
|
22
|
-
let x2 = Math.
|
21
|
+
let x1 = Math.floor(mobile.length / 2);
|
22
|
+
let x2 = Math.ceil(x1 / 2);
|
23
23
|
let shields = [' '];
|
24
|
-
for (let i = 0; i < x1; i++) {
|
24
|
+
for (let i = 0; i < x1 - 1; i++) {
|
25
25
|
shields.push('*');
|
26
26
|
}
|
27
27
|
shields.push(' ');
|
28
|
-
return mobile.substring(0, x2) + shields.join('') + mobile.substring(x2 + x1);
|
28
|
+
return (mobile.substring(0, x2) + shields.join('') + mobile.substring(x2 + x1 - 1));
|
29
29
|
}
|
30
30
|
/**
|
31
31
|
* 验证参数是否是数字
|
package/lib/validator.d.ts
CHANGED
@@ -29,7 +29,7 @@ declare class Validator {
|
|
29
29
|
*/
|
30
30
|
constructor(schemas: SchemaType[]);
|
31
31
|
/**
|
32
|
-
*
|
32
|
+
* 进行数据验证
|
33
33
|
* @param data 待验证的数据
|
34
34
|
* @returns
|
35
35
|
*/
|
@@ -39,7 +39,7 @@ declare class Validator {
|
|
39
39
|
* @param key 指定待验证的 key
|
40
40
|
* @param value 待验证的数据
|
41
41
|
*/
|
42
|
-
validateKey(key: string, value: any): Promise<boolean>;
|
42
|
+
validateKey(key: string, value: any, data?: any): Promise<boolean>;
|
43
43
|
private _validateRule;
|
44
44
|
private _parseStringRule;
|
45
45
|
}
|
package/lib/validator.js
CHANGED
@@ -56,9 +56,6 @@ class Validator {
|
|
56
56
|
for (let schema of schemas) {
|
57
57
|
// 解析规则
|
58
58
|
let rules = [];
|
59
|
-
if (schema.required === true) {
|
60
|
-
rules.push(this._parseStringRule('required'));
|
61
|
-
}
|
62
59
|
let rule = schema.rules;
|
63
60
|
if (typeof rule === 'string') {
|
64
61
|
rules = rules.concat(this._parseStringRule(rule));
|
@@ -66,7 +63,7 @@ class Validator {
|
|
66
63
|
else if (rule instanceof Array) {
|
67
64
|
for (let ruleItem of rule) {
|
68
65
|
if (typeof ruleItem === 'string') {
|
69
|
-
rules
|
66
|
+
rules.push(...this._parseStringRule(ruleItem));
|
70
67
|
}
|
71
68
|
else if (ruleItem instanceof RegExp ||
|
72
69
|
typeof ruleItem === 'function') {
|
@@ -74,7 +71,7 @@ class Validator {
|
|
74
71
|
}
|
75
72
|
else {
|
76
73
|
if (typeof ruleItem.rule === 'string') {
|
77
|
-
rules
|
74
|
+
rules.push(...this._parseStringRule(ruleItem.rule, ruleItem.message));
|
78
75
|
}
|
79
76
|
else {
|
80
77
|
rules.push({
|
@@ -88,12 +85,16 @@ class Validator {
|
|
88
85
|
else {
|
89
86
|
rules.push({ rule, message: defaultMsg });
|
90
87
|
}
|
88
|
+
if (schema.required === true &&
|
89
|
+
rules.findIndex((r) => r.rule === 'required') === -1) {
|
90
|
+
rules.push(this._parseStringRule('required'));
|
91
|
+
}
|
91
92
|
parsedRules[schema.key] = rules;
|
92
93
|
}
|
93
94
|
this.rules = parsedRules;
|
94
95
|
}
|
95
96
|
/**
|
96
|
-
*
|
97
|
+
* 进行数据验证
|
97
98
|
* @param data 待验证的数据
|
98
99
|
* @returns
|
99
100
|
*/
|
@@ -124,10 +125,10 @@ class Validator {
|
|
124
125
|
* @param key 指定待验证的 key
|
125
126
|
* @param value 待验证的数据
|
126
127
|
*/
|
127
|
-
validateKey(key, value) {
|
128
|
+
validateKey(key, value, data) {
|
128
129
|
return new Promise((resolve, reject) => {
|
129
130
|
let keyRules = this.rules[key];
|
130
|
-
let errMsg = this._validateRule(keyRules, value,
|
131
|
+
let errMsg = this._validateRule(keyRules, value, data);
|
131
132
|
if (errMsg !== '') {
|
132
133
|
errMsg = errMsg.replace('%s', key);
|
133
134
|
reject(new ValidateError(key, errMsg));
|
@@ -193,7 +194,7 @@ class Validator {
|
|
193
194
|
}
|
194
195
|
else if (rule === 'required') {
|
195
196
|
rrule = 'required';
|
196
|
-
message = defaultMsgs.required;
|
197
|
+
message = ruleErrMsg || defaultMsgs.required;
|
197
198
|
}
|
198
199
|
else if (Object.prototype.hasOwnProperty.call(ruleRegexs, r)) {
|
199
200
|
rrule = ruleRegexs[r];
|
package/lib/validator_m.d.ts
CHANGED
@@ -29,7 +29,7 @@ declare class Validator {
|
|
29
29
|
*/
|
30
30
|
constructor(schemas: SchemaType[]);
|
31
31
|
/**
|
32
|
-
*
|
32
|
+
* 进行数据验证
|
33
33
|
* @param data 待验证的数据
|
34
34
|
* @returns
|
35
35
|
*/
|
@@ -39,7 +39,7 @@ declare class Validator {
|
|
39
39
|
* @param key 指定待验证的 key
|
40
40
|
* @param value 待验证的数据
|
41
41
|
*/
|
42
|
-
validateKey(key: string, value: any): Promise<boolean>;
|
42
|
+
validateKey(key: string, value: any, data?: any): Promise<boolean>;
|
43
43
|
private _validateRule;
|
44
44
|
private _parseStringRule;
|
45
45
|
}
|
package/lib/validator_m.js
CHANGED
@@ -52,9 +52,6 @@ class Validator {
|
|
52
52
|
for (let schema of schemas) {
|
53
53
|
// 解析规则
|
54
54
|
let rules = [];
|
55
|
-
if (schema.required === true) {
|
56
|
-
rules.push(this._parseStringRule('required'));
|
57
|
-
}
|
58
55
|
let rule = schema.rules;
|
59
56
|
if (typeof rule === 'string') {
|
60
57
|
rules = rules.concat(this._parseStringRule(rule));
|
@@ -62,7 +59,7 @@ class Validator {
|
|
62
59
|
else if (rule instanceof Array) {
|
63
60
|
for (let ruleItem of rule) {
|
64
61
|
if (typeof ruleItem === 'string') {
|
65
|
-
rules
|
62
|
+
rules.push(...this._parseStringRule(ruleItem));
|
66
63
|
}
|
67
64
|
else if (ruleItem instanceof RegExp ||
|
68
65
|
typeof ruleItem === 'function') {
|
@@ -70,7 +67,7 @@ class Validator {
|
|
70
67
|
}
|
71
68
|
else {
|
72
69
|
if (typeof ruleItem.rule === 'string') {
|
73
|
-
rules
|
70
|
+
rules.push(...this._parseStringRule(ruleItem.rule, ruleItem.message));
|
74
71
|
}
|
75
72
|
else {
|
76
73
|
rules.push({
|
@@ -84,12 +81,16 @@ class Validator {
|
|
84
81
|
else {
|
85
82
|
rules.push({ rule, message: defaultMsg });
|
86
83
|
}
|
84
|
+
if (schema.required === true &&
|
85
|
+
rules.findIndex((r) => r.rule === 'required') === -1) {
|
86
|
+
rules.push(this._parseStringRule('required'));
|
87
|
+
}
|
87
88
|
parsedRules[schema.key] = rules;
|
88
89
|
}
|
89
90
|
this.rules = parsedRules;
|
90
91
|
}
|
91
92
|
/**
|
92
|
-
*
|
93
|
+
* 进行数据验证
|
93
94
|
* @param data 待验证的数据
|
94
95
|
* @returns
|
95
96
|
*/
|
@@ -120,10 +121,10 @@ class Validator {
|
|
120
121
|
* @param key 指定待验证的 key
|
121
122
|
* @param value 待验证的数据
|
122
123
|
*/
|
123
|
-
validateKey(key, value) {
|
124
|
+
validateKey(key, value, data) {
|
124
125
|
return new Promise((resolve, reject) => {
|
125
126
|
let keyRules = this.rules[key];
|
126
|
-
let errMsg = this._validateRule(keyRules, value,
|
127
|
+
let errMsg = this._validateRule(keyRules, value, data);
|
127
128
|
if (errMsg !== '') {
|
128
129
|
errMsg = errMsg.replace('%s', key);
|
129
130
|
reject(new ValidateError(key, errMsg));
|
@@ -189,7 +190,7 @@ class Validator {
|
|
189
190
|
}
|
190
191
|
else if (rule === 'required') {
|
191
192
|
rrule = 'required';
|
192
|
-
message = defaultMsgs.required;
|
193
|
+
message = ruleErrMsg || defaultMsgs.required;
|
193
194
|
}
|
194
195
|
else if (Object.prototype.hasOwnProperty.call(ruleRegexs, r)) {
|
195
196
|
rrule = ruleRegexs[r];
|