util-helpers 4.10.1 → 4.10.2

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.
@@ -1213,8 +1213,11 @@
1213
1213
  return regHMCard.test(valueStr);
1214
1214
  }
1215
1215
 
1216
- // 台湾居民来往大陆通行证正则,支持一次性短期台胞证
1217
- const regTWCard = /^(\d{8}|[\da-z]{10})$/i;
1216
+ // 台湾居民来往大陆通行证正则
1217
+ const regTWCard = /^\d{8}$/i;
1218
+
1219
+ // 一次性短期台胞证
1220
+ const singleRegTWCard = /^[\da-z]{10,12}$/i;
1218
1221
 
1219
1222
  /**
1220
1223
  * 检测值是否为台湾居民来往大陆通行证,俗称台胞证。
@@ -1224,17 +1227,23 @@
1224
1227
  * @since 4.0.0
1225
1228
  * @see 参考 {@link https://zh.wikipedia.org/wiki/台湾居民来往大陆通行证|台湾居民来往大陆通行证}
1226
1229
  * @param {*} value 要检测的值
1230
+ * @param {Object} [options] 配置项
1231
+ * @param {boolean} [options.loose=false] 宽松模式。如果为true,表示支持一次性短期通行证
1227
1232
  * @returns {boolean} 是否为台湾居民来往大陆通行证
1228
1233
  * @example
1229
1234
  * isTWCard('12345678') // true
1230
1235
  * isTWCard('07257456') // true
1231
1236
  *
1232
1237
  * // 一次性短期
1233
- * isTWCard('F290299977') // true
1238
+ * isTWCard('F290299977') // false
1239
+ * isTWCard('F290299977', { loose: true }) // true
1234
1240
  */
1235
- function isTWCard(value) {
1241
+ function isTWCard(value, { loose = false } = {}) {
1236
1242
  const valueStr = normalizeString(value);
1237
- return regTWCard.test(valueStr);
1243
+ if (regTWCard.test(valueStr)) {
1244
+ return true;
1245
+ }
1246
+ return loose ? singleRegTWCard.test(valueStr) : false;
1238
1247
  }
1239
1248
 
1240
1249
  const reg$1 = /^[A-Z]{6}[A-Z\d]{2}(?:[A-Z\d]{3})?$/;