util-helpers 4.10.0 → 4.10.3
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/dist/util-helpers.js +40 -23
- package/dist/util-helpers.js.map +1 -1
- package/dist/util-helpers.min.js +1 -1
- package/dist/util-helpers.min.js.map +1 -1
- package/esm/isBusinessLicense.js +15 -14
- package/esm/isPassport.js +3 -3
- package/esm/isSocialCreditCode.js +16 -9
- package/esm/isTWCard.js +18 -4
- package/lib/isBusinessLicense.js +15 -14
- package/lib/isPassport.js +3 -3
- package/lib/isSocialCreditCode.js +16 -9
- package/lib/isTWCard.js +18 -4
- package/package.json +1 -1
- package/types/isBusinessLicense.d.ts +7 -10
- package/types/isPassport.d.ts +1 -1
- package/types/isSocialCreditCode.d.ts +8 -5
- package/types/isTWCard.d.ts +7 -2
package/dist/util-helpers.js
CHANGED
|
@@ -500,7 +500,7 @@
|
|
|
500
500
|
* @since 1.1.0
|
|
501
501
|
* @param {*} value 要检测的值
|
|
502
502
|
* @param {Object} [options] 配置项
|
|
503
|
-
* @param {boolean} [options.
|
|
503
|
+
* @param {boolean} [options.checkCode=true] 是否校验最后一位校验码,如果为false,不校验校验位。
|
|
504
504
|
* @returns {boolean} 值是否为统一社会信用代码
|
|
505
505
|
* @example
|
|
506
506
|
*
|
|
@@ -510,18 +510,25 @@
|
|
|
510
510
|
* isSocialCreditCode('91350100M000100Y4A');
|
|
511
511
|
* // => false
|
|
512
512
|
*
|
|
513
|
-
* //
|
|
514
|
-
* isSocialCreditCode('91350100M000100Y4A', {
|
|
513
|
+
* // 不校验校验位
|
|
514
|
+
* isSocialCreditCode('91350100M000100Y4A', { checkCode: false });
|
|
515
515
|
* // => true
|
|
516
516
|
*
|
|
517
|
+
* isSocialCreditCode('91350100M000100Y', { checkCode: false });
|
|
518
|
+
* // => false
|
|
519
|
+
*
|
|
517
520
|
*/
|
|
518
|
-
function isSocialCreditCode(value,
|
|
521
|
+
function isSocialCreditCode(value, options = {}) {
|
|
519
522
|
const valueStr = normalizeString(value);
|
|
523
|
+
// @ts-ignore
|
|
524
|
+
// TODO 下个版本废弃 loose
|
|
525
|
+
const { loose = false, checkCode: cc = true } = options;
|
|
526
|
+
const needCheckCode = !loose && cc;
|
|
520
527
|
|
|
521
528
|
const passBaseRule = baseReg$1.test(valueStr);
|
|
522
529
|
|
|
523
530
|
// 宽松模式 或 基础规则不通过直接返回
|
|
524
|
-
if (
|
|
531
|
+
if (!needCheckCode || !passBaseRule) {
|
|
525
532
|
return passBaseRule;
|
|
526
533
|
}
|
|
527
534
|
|
|
@@ -853,12 +860,12 @@
|
|
|
853
860
|
return validatePassword(value, { level, ignoreCase, special }).validated;
|
|
854
861
|
}
|
|
855
862
|
|
|
856
|
-
// 护照号 9位,包括首字母和数字;支持 普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ)、澳门特区护照(MA)
|
|
857
|
-
const reg$5 = /^((e[\da-z])|(de)|(se)|(pe)|(
|
|
863
|
+
// 护照号 9位,包括首字母和数字;支持 普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ/H*)、澳门特区护照(MA/MB/M*)
|
|
864
|
+
const reg$5 = /^((e[\da-z])|(de)|(se)|(pe)|([khm][\da-z]))[\da-z]{7}$/i;
|
|
858
865
|
|
|
859
866
|
/**
|
|
860
867
|
* 检测值是否为护照号
|
|
861
|
-
* 支持普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ)、澳门特区护照(MA)
|
|
868
|
+
* 支持普通护照(E*)、外交护照(DE)、公务护照(SE)、公务普通护照(PE)、香港特区护照(K/KJ/H*)、澳门特区护照(MA/MB/M*),注意不区分大小写
|
|
862
869
|
*
|
|
863
870
|
* @static
|
|
864
871
|
* @alias module:Validator.isPassport
|
|
@@ -1121,32 +1128,33 @@
|
|
|
1121
1128
|
* @since 3.5.0
|
|
1122
1129
|
* @param {*} value 要检测的值
|
|
1123
1130
|
* @param {Object} [options] 配置项
|
|
1124
|
-
* @param {boolean} [options.
|
|
1131
|
+
* @param {boolean} [options.checkCode=true] 是否校验最后一位校验码,如果为false,不校验校验位。
|
|
1125
1132
|
* @returns {boolean} 值是否为营业执照号
|
|
1126
1133
|
* @example
|
|
1127
1134
|
*
|
|
1128
1135
|
* isBusinessLicense('310115600985533');
|
|
1129
1136
|
* // => true
|
|
1130
1137
|
*
|
|
1131
|
-
* isBusinessLicense('3101156009');
|
|
1132
|
-
* // => false
|
|
1133
|
-
*
|
|
1134
|
-
* isBusinessLicense('3101156009', { loose: true });
|
|
1135
|
-
* // => false
|
|
1136
|
-
*
|
|
1137
1138
|
* isBusinessLicense('310115600985535');
|
|
1138
1139
|
* // => false
|
|
1139
1140
|
*
|
|
1140
|
-
* isBusinessLicense('310115600985535', {
|
|
1141
|
+
* isBusinessLicense('310115600985535', { checkCode: false });
|
|
1141
1142
|
* // => true
|
|
1143
|
+
*
|
|
1144
|
+
* isBusinessLicense('31011560098', { checkCode: false });
|
|
1145
|
+
* // => false
|
|
1142
1146
|
*/
|
|
1143
|
-
function isBusinessLicense(value,
|
|
1147
|
+
function isBusinessLicense(value, options = {}) {
|
|
1144
1148
|
const valueStr = normalizeString(value);
|
|
1149
|
+
// @ts-ignore
|
|
1150
|
+
// TODO 下个版本废弃 loose
|
|
1151
|
+
const { loose = false, checkCode: cc = true } = options;
|
|
1152
|
+
const needCheckCode = !loose && cc;
|
|
1145
1153
|
|
|
1146
1154
|
const passBaseRule = baseReg.test(valueStr);
|
|
1147
1155
|
|
|
1148
1156
|
// 宽松模式 或 基础规则不通过直接返回
|
|
1149
|
-
if (
|
|
1157
|
+
if (!needCheckCode || !passBaseRule) {
|
|
1150
1158
|
return passBaseRule;
|
|
1151
1159
|
}
|
|
1152
1160
|
|
|
@@ -1213,8 +1221,11 @@
|
|
|
1213
1221
|
return regHMCard.test(valueStr);
|
|
1214
1222
|
}
|
|
1215
1223
|
|
|
1216
|
-
//
|
|
1217
|
-
const regTWCard =
|
|
1224
|
+
// 台湾居民来往大陆通行证正则
|
|
1225
|
+
const regTWCard = /^\d{8}$/i;
|
|
1226
|
+
|
|
1227
|
+
// 一次性短期台胞证
|
|
1228
|
+
const singleRegTWCard = /^[\da-z]{10,12}$/i;
|
|
1218
1229
|
|
|
1219
1230
|
/**
|
|
1220
1231
|
* 检测值是否为台湾居民来往大陆通行证,俗称台胞证。
|
|
@@ -1224,17 +1235,23 @@
|
|
|
1224
1235
|
* @since 4.0.0
|
|
1225
1236
|
* @see 参考 {@link https://zh.wikipedia.org/wiki/台湾居民来往大陆通行证|台湾居民来往大陆通行证}
|
|
1226
1237
|
* @param {*} value 要检测的值
|
|
1238
|
+
* @param {Object} [options] 配置项
|
|
1239
|
+
* @param {boolean} [options.loose=false] 宽松模式。如果为true,表示支持一次性短期通行证
|
|
1227
1240
|
* @returns {boolean} 是否为台湾居民来往大陆通行证
|
|
1228
1241
|
* @example
|
|
1229
1242
|
* isTWCard('12345678') // true
|
|
1230
1243
|
* isTWCard('07257456') // true
|
|
1231
1244
|
*
|
|
1232
1245
|
* // 一次性短期
|
|
1233
|
-
* isTWCard('F290299977') //
|
|
1246
|
+
* isTWCard('F290299977') // false
|
|
1247
|
+
* isTWCard('F290299977', { loose: true }) // true
|
|
1234
1248
|
*/
|
|
1235
|
-
function isTWCard(value) {
|
|
1249
|
+
function isTWCard(value, { loose = false } = {}) {
|
|
1236
1250
|
const valueStr = normalizeString(value);
|
|
1237
|
-
|
|
1251
|
+
if (regTWCard.test(valueStr)) {
|
|
1252
|
+
return true;
|
|
1253
|
+
}
|
|
1254
|
+
return loose ? singleRegTWCard.test(valueStr) : false;
|
|
1238
1255
|
}
|
|
1239
1256
|
|
|
1240
1257
|
const reg$1 = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;
|