@nannygoose-utils/string-handler 1.0.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.
- package/README.md +20 -0
- package/dist/formatter.d.ts +45 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +243 -0
- package/dist/validator.d.ts +43 -0
- package/package.json +29 -0
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @nannygoose-utils/string-handler
|
|
2
|
+
|
|
3
|
+
string处理工具-包含空值/手机号/邮箱/地址校验、常用数据脱敏、金额格式化等功能"
|
|
4
|
+
|
|
5
|
+
## 📦 安装
|
|
6
|
+
|
|
7
|
+
使用 npm、yarn 或 pnpm 安装:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# npm
|
|
11
|
+
npm install @nannygoose-utils/string-handler --save
|
|
12
|
+
|
|
13
|
+
# yarn
|
|
14
|
+
yarn add @nannygoose-utils/string-handler
|
|
15
|
+
|
|
16
|
+
# pnpm
|
|
17
|
+
pnpm add @nannygoose-utils/string-handler
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
## 🚀 使用
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 字符串格式化/脱敏工具
|
|
3
|
+
* 提供通用数据脱敏、金额格式化等能力,适配表单/展示场景
|
|
4
|
+
*/
|
|
5
|
+
export declare namespace StringFormatter {
|
|
6
|
+
/**
|
|
7
|
+
* 手机号脱敏(138****8000)
|
|
8
|
+
* @param phone 手机号字符串/数字
|
|
9
|
+
* @returns 脱敏后的手机号(非法手机号返回原字符串,空值返回空)
|
|
10
|
+
*/
|
|
11
|
+
const desensitizePhone: (phone: string | number) => string;
|
|
12
|
+
/**
|
|
13
|
+
* 身份证号脱敏(18位:110101********7890;15位:110101******789)
|
|
14
|
+
* @param idCard 身份证号字符串/数字
|
|
15
|
+
* @returns 脱敏后的身份证号(非法格式返回原字符串,空值返回空)
|
|
16
|
+
*/
|
|
17
|
+
const desensitizeIdCard: (idCard: string | number) => string;
|
|
18
|
+
/**
|
|
19
|
+
* 姓名脱敏(李雷→李* / 谭冬阳→谭*阳 / 张三丰→张**丰 / 欧阳娜娜→欧**娜)
|
|
20
|
+
* @param name 姓名字符串
|
|
21
|
+
* @returns 脱敏后的姓名(空值返回空,单字返回原字)
|
|
22
|
+
*/
|
|
23
|
+
const desensitizeName: (name: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* 地址脱敏(北京市朝阳区********)
|
|
26
|
+
* @param address 地址字符串
|
|
27
|
+
* @param keepLength 保留开头长度(默认8,最小1,最大100)
|
|
28
|
+
* @returns 脱敏后的地址(空值返回空,长度不足保留长度返回原地址)
|
|
29
|
+
*/
|
|
30
|
+
const desensitizeAddress: (address: string, keepLength?: number) => string;
|
|
31
|
+
/**
|
|
32
|
+
* 邮箱脱敏(t****@163.com / test****@xxx.com.cn)
|
|
33
|
+
* @param email 邮箱字符串
|
|
34
|
+
* @returns 脱敏后的邮箱(非法格式返回原字符串,空值返回空)
|
|
35
|
+
*/
|
|
36
|
+
const desensitizeEmail: (email: string) => string;
|
|
37
|
+
/**
|
|
38
|
+
* 金额千分位格式化(10000→10,000.00;12345.6→12,345.60;-1000→-1,000.00)
|
|
39
|
+
* 解决toFixed精度问题、负数处理、超大数处理
|
|
40
|
+
* @param amount 金额(数字/字符串)
|
|
41
|
+
* @param decimal 保留小数位数(默认2,0-10之间)
|
|
42
|
+
* @returns 格式化后的金额字符串(非法值返回0.00)
|
|
43
|
+
*/
|
|
44
|
+
const formatAmount: (amount: number | string, decimal?: number) => string;
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function t(r,e){r-=495;const o=n();let i=o[r];if(void 0===t.eSAWzu){t.sfinZs=function(t){let n="",r="";for(let e,o,i=0,s=0;o=t.charAt(s++);~o&&(e=i%4?64*e+o:o,i++%4)?n+=String.fromCharCode(255&e>>(-2*i&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=n.length;e<o;e++)r+="%"+("00"+n.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)},t.elECXo={},t.eSAWzu=!0}const s=r+o[0],u=t.elECXo[s];return u?i=u:(i=t.sfinZs(i),t.elECXo[s]=i),i}function n(){const t=["DhjPBq","AxnbCNjHEq","DgvZDa","mtKZodiWngrMyuPQtq","mtmWmdm3nJDeuhziCMu","zxrzwKu","mtiXodG1mgrAwLrNDW","nZCYnZaYnfziwNz1ta","shrOywu","mJG2nZK0mMX2Dhb3CW","nJC0rezwuxr5","AxnfBwfPBa","ndKYndG4sLDfy2Hh","C3rYAw5N","ntbnA1PQuKi","Axnmyw5KBgLUzq","AxnbzgrYzxnZ","z01TqLa","AxnfBxb0Eq","AxnjzenHCMq","sMrVvNq","BgvUz3rO","mtiWmdL0r0D1Bvy","AxnqAg9Uzq"];return(n=function(){return t})()}function r(t,n){t-=435;const o=e();let i=o[t];if(void 0===r.gtSdRC){r.ZXqqDo=function(t){let n="",r="";for(let e,o,i=0,s=0;o=t.charAt(s++);~o&&(e=i%4?64*e+o:o,i++%4)?n+=String.fromCharCode(255&e>>(-2*i&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=n.length;e<o;e++)r+="%"+("00"+n.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)},r.MwaLwF={},r.gtSdRC=!0}const s=t+o[0],u=r.MwaLwF[s];return u?i=u:(i=r.ZXqqDo(i),r.MwaLwF[s]=i),i}function e(){const t=["BgvUz3rO","zgvZzw5ZAxrPEMvoyw1L","jdeQkIOQjdm","ohvTBMrKtW","wwnkBvq","C3jMDfi","ndC3rwvSywz6","vKfWB2i","CMvWBgfJzq","nJq0DuHit25I","oty1mdC2mevSq3DPDa","ntK3mdrQvu5Ur3y","u1POwuu","mJe1nJrKDhHruwi","mta2ndHvrLbLBfa","AhHhvxK","zgvZzw5ZAxrPEMvqAg9Uzq","zMXVB3i","CMvWzwf0","BwLU","mtfPDgf4t2C","DhjPBq","mtK1mdC5nwTKCwn1vq","uKzyt3O","zgvZzw5ZAxrPEMvfBwfPBa","DxPnsva","Cg93","mJKXmJyXwNz0D0nK","jdeQkIOQkIOQkIqZ","vhbetwS","CgH5yNy","Dg9gAxHLza","C2XPy2u","jdeQ","mti4B2LIq1HZ","CM91BMq","C3bSAxq","Bwf4","AxnfBxb0Eq","vuTHEeS","zgvZzw5ZAxrPEMvbzgrYzxnZ","jdeQkIOQkIOKmW","EuXvB2S","z3fcBwe","t0nQEve","mJCZnJC4mfLrrKn1uW"];return(e=function(){return t})()}function o(t,n){t-=322;var r=i(),e=r[t];if(void 0===o.YnNgva){o.JycMyj=function(t){for(var n,r,e="",o="",i=0,s=0;r=t.charAt(s++);~r&&(n=i%4?64*n+r:r,i++%4)?e+=String.fromCharCode(255&n>>(-2*i&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(var u=0,a=e.length;u<a;u++)o+="%"+("00"+e.charCodeAt(u).toString(16)).slice(-2);return decodeURIComponent(o)},o.GKSXKk={},o.YnNgva=!0}var s=t+r[0],u=o.GKSXKk[s];return u?e=u:(e=o.JycMyj(e),o.GKSXKk[s]=e),e}function i(){var t=["ntuYmZKYogX6sejYDa","mJy5A2P0s3z3","nti1oeDvyLL6wq","mtm2odmWm213ExjVrG","nduWrwL2q0Xz","n3vNBxj5za","nhrrrgnOyW","mZG2mdm4mMjcEgHJzq","nZmWodq1sLb0rNzw","mZC4ode5murOtNPbqq","nJy0mZbxAfvgtwO"];return(i=function(){return t})()}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),function(){const r=t,e=n();for(;;)try{if(795724===-parseInt(r(495))/1+-parseInt(r(499))/2*(-parseInt(r(511))/3)+parseInt(r(501))/4*(parseInt(r(503))/5)+parseInt(r(516))/6+-parseInt(r(498))/7+parseInt(r(496))/8+-parseInt(r(517))/9)break;e.push(e.shift())}catch(o){e.push(e.shift())}}(),exports.StringValidator=void 0,(n=>{const r=t,e={};e[r(518)]=function(t,n){return t===n},e.gMmBP=function(t,n){return t===n},e.PsDnV=r(502),e[r(497)]=function(t,n){return t!==n},e[r(509)]=function(t,n){return t!==n};const o=e;n[r(507)]=t=>{const n=r;return!(!o.etYZE(t,null)&&!o.etYZE(t,void 0))||(o[n(506)](typeof t,o.PsDnV)?0===t[n(513)]()[n(510)]:!!Array[n(514)](t)&&o[n(518)](t[n(510)],0))},n[r(512)]=t=>{const e=r;if((0,n[e(507)])(t))return!1;return/^1[3-9]\d{9}$/[e(515)](t[e(513)]())},n[r(504)]=t=>{const e=r;if((0,n[e(507)])(t))return!1;return/^0\d{2,3}-\d{7,8}(-\d{1,4})?$/.test(t[e(513)]())},n[r(500)]=t=>{const e=r;if((0,n[e(507)])(t))return!1;return/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/[e(515)](t[e(513)]())},n[r(508)]=t=>{const n=r;if(!t||o[n(497)](typeof t,o.PsDnV))return!1;const e=t.length;if(15!==e&&o.JdoVt(e,18))return!1;return 15===e?/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/[n(515)](t):!!o[n(518)](e,18)&&/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}[\dXx]$/[n(515)](t)},n[r(505)]=(t,e=100)=>{const o=r;if((0,n[o(507)])(t))return!1;return t[o(513)]()[o(510)]<=e}})(exports.StringValidator||(exports.StringValidator={})),function(){const t=r,n=e();for(;;)try{if(379282===-parseInt(t(474))/1*(parseInt(t(454))/2)+parseInt(t(467))/3*(parseInt(t(443))/4)+-parseInt(t(462))/5+parseInt(t(453))/6*(parseInt(t(449))/7)+parseInt(t(451))/8*(parseInt(t(446))/9)+-parseInt(t(439))/10+-parseInt(t(460))/11*(-parseInt(t(450))/12))break;n.push(n.shift())}catch(o){n.push(n.shift())}}(),exports.StringFormatter=void 0,(t=>{const n=r,e={srftR:function(t,n){return t(n)},UKaxK:n(442),VApob:function(t,n){return t(n)},TpDMk:n(435),SZhYE:function(t,n){return t+n},OCjyQ:function(t,n){return t===n},hxGUy:n(473),yLUok:function(t,n){return t<=n},phybv:"0.00",RFXOz:function(t,n){return t(n)},YcJmT:function(t,n){return t/n},aXDWo:function(t,n){return t*n}};t[n(456)]=t=>{const r=n,o=e[r(445)](String,t)[r(461)]();return exports.StringValidator[r(478)](o)?"":exports.StringValidator.isPhone(o)?o[r(448)](/^(\d{3})(\d{4})(\d{4})$/,e[r(479)]):o},t.desensitizeIdCard=t=>{const r=n,o=e[r(447)](String,t)[r(461)]();if(exports.StringValidator.isEmpty(o))return"";if(!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(o))return o;const i=o.toUpperCase();return 18===i.length?i[r(448)](/^(\d{6})(\d{8})([\dX]{4})$/,r(468)):15===i[r(440)]?i[r(448)](/^(\d{6})(\d{6})(\d{3})$/,e[r(469)]):o},t[n(441)]=t=>{const o=n,i={uzMIP:function(t,n){return e[r(452)](t,n)},gqBma:function(t,n){return t+n}},s=(null==t?void 0:t[o(461)]())||"";if(exports.StringValidator[o(478)](s))return"";const u=s.length;return e[o(438)](u,1)?s:e[o(438)](u,2)?s[o(448)](/^(\S)(\S)$/,e[o(455)]):s[o(448)](/^(\S)(\S+)(\S)$/,(t,n,r,e)=>{const s=o;return i[s(465)](i[s(437)](n,"*"[s(458)](r.length)),e)})},t[n(480)]=(t,r=8)=>{const o=n,i=(null==t?void 0:t[o(461)]())||"";if(exports.StringValidator[o(478)](i))return"";const s=Math[o(477)](1,Math.min(100,r));if(e[o(436)](i[o(440)],s))return i;return i[o(472)](0,s)+"********"},t[n(464)]=t=>{const r=n,o=(null==t?void 0:t.trim())||"";return exports.StringValidator[r(478)](o)?"":exports.StringValidator.isEmail(o)?o[r(448)](/^([^\s@]{1})([^\s@]*)(@.*)$/,e[r(479)]):o},t.formatAmount=(t,r=2)=>{const o=n;if(exports.StringValidator[o(478)](t))return e[o(470)];let i=Number(t);if(e[o(463)](isNaN,i)||!e[o(463)](isFinite,i))return e[o(470)];const s=Math[o(477)](0,Math[o(459)](10,Math[o(457)](r))),u=Math[o(466)](10,s),a=e[o(444)](Math[o(475)](e.aXDWo(i,u)),u),[f,d]=a[o(471)](s)[o(476)](".");return f[o(448)](/\B(?=(\d{3})+(?!\d))/g,",")+"."+(d||"0"[o(458)](s))}})(exports.StringFormatter||(exports.StringFormatter={})),function(){for(var t=o,n=i();;)try{if(359776===parseInt(t(331))/1*(parseInt(t(332))/2)+-parseInt(t(322))/3*(-parseInt(t(325))/4)+-parseInt(t(327))/5+-parseInt(t(326))/6+-parseInt(t(324))/7*(parseInt(t(330))/8)+-parseInt(t(323))/9*(-parseInt(t(329))/10)+parseInt(t(328))/11)break;n.push(n.shift())}catch(r){n.push(n.shift())}}();
|
package/dist/index.d.ts
ADDED
package/dist/index.es.js
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
(function(_0xef6e4c, _0x3dcba0) {
|
|
2
|
+
const _0x4fecd6 = _0x5dee, _0x92e869 = _0xef6e4c();
|
|
3
|
+
while (!![]) {
|
|
4
|
+
try {
|
|
5
|
+
const _0x519bdd = -parseInt(_0x4fecd6(495)) / 1 + -parseInt(_0x4fecd6(499)) / 2 * (-parseInt(_0x4fecd6(511)) / 3) + parseInt(_0x4fecd6(501)) / 4 * (parseInt(_0x4fecd6(503)) / 5) + parseInt(_0x4fecd6(516)) / 6 + -parseInt(_0x4fecd6(498)) / 7 + parseInt(_0x4fecd6(496)) / 8 + -parseInt(_0x4fecd6(517)) / 9;
|
|
6
|
+
if (_0x519bdd === _0x3dcba0) break;
|
|
7
|
+
else _0x92e869["push"](_0x92e869["shift"]());
|
|
8
|
+
} catch (_0x5e57c4) {
|
|
9
|
+
_0x92e869["push"](_0x92e869["shift"]());
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
})(_0x301d, 795724);
|
|
13
|
+
var StringValidator;
|
|
14
|
+
((_0x18b0fc) => {
|
|
15
|
+
const _0x5a52b2 = _0x5dee, _0x146331 = {};
|
|
16
|
+
_0x146331[_0x5a52b2(518)] = function(_0x3ead2f, _0x764eab) {
|
|
17
|
+
return _0x3ead2f === _0x764eab;
|
|
18
|
+
}, _0x146331["gMmBP"] = function(_0x2c4728, _0xaa85ba) {
|
|
19
|
+
return _0x2c4728 === _0xaa85ba;
|
|
20
|
+
}, _0x146331["PsDnV"] = _0x5a52b2(502), _0x146331[_0x5a52b2(497)] = function(_0x23b42e, _0xba660f) {
|
|
21
|
+
return _0x23b42e !== _0xba660f;
|
|
22
|
+
}, _0x146331[_0x5a52b2(509)] = function(_0xc1f66a, _0x475181) {
|
|
23
|
+
return _0xc1f66a !== _0x475181;
|
|
24
|
+
};
|
|
25
|
+
const _0x166c1b = _0x146331;
|
|
26
|
+
_0x18b0fc[_0x5a52b2(507)] = (_0x2883c5) => {
|
|
27
|
+
const _0x1605b3 = _0x5a52b2;
|
|
28
|
+
if (_0x166c1b["etYZE"](_0x2883c5, null) || _0x166c1b["etYZE"](_0x2883c5, void 0)) return !![];
|
|
29
|
+
if (_0x166c1b[_0x1605b3(506)](typeof _0x2883c5, _0x166c1b["PsDnV"])) return _0x2883c5[_0x1605b3(513)]()[_0x1605b3(510)] === 0;
|
|
30
|
+
if (Array[_0x1605b3(514)](_0x2883c5)) return _0x166c1b[_0x1605b3(518)](_0x2883c5[_0x1605b3(510)], 0);
|
|
31
|
+
return ![];
|
|
32
|
+
}, _0x18b0fc[_0x5a52b2(512)] = (_0x1d343d) => {
|
|
33
|
+
const _0x3c8f92 = _0x5a52b2;
|
|
34
|
+
if ((0, _0x18b0fc[_0x3c8f92(507)])(_0x1d343d)) return ![];
|
|
35
|
+
const _0x4027bb = /^1[3-9]\d{9}$/;
|
|
36
|
+
return _0x4027bb[_0x3c8f92(515)](_0x1d343d[_0x3c8f92(513)]());
|
|
37
|
+
}, _0x18b0fc[_0x5a52b2(504)] = (_0x8ce2c7) => {
|
|
38
|
+
const _0x31798a = _0x5a52b2;
|
|
39
|
+
if ((0, _0x18b0fc[_0x31798a(507)])(_0x8ce2c7)) return ![];
|
|
40
|
+
const _0x4006c9 = /^0\d{2,3}-\d{7,8}(-\d{1,4})?$/;
|
|
41
|
+
return _0x4006c9["test"](_0x8ce2c7[_0x31798a(513)]());
|
|
42
|
+
}, _0x18b0fc[_0x5a52b2(500)] = (_0x19b0c6) => {
|
|
43
|
+
const _0x167178 = _0x5a52b2;
|
|
44
|
+
if ((0, _0x18b0fc[_0x167178(507)])(_0x19b0c6)) return ![];
|
|
45
|
+
const _0x35ab48 = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
|
|
46
|
+
return _0x35ab48[_0x167178(515)](_0x19b0c6[_0x167178(513)]());
|
|
47
|
+
}, _0x18b0fc[_0x5a52b2(508)] = (_0x1d523) => {
|
|
48
|
+
const _0xc2f36b = _0x5a52b2;
|
|
49
|
+
if (!_0x1d523 || _0x166c1b[_0xc2f36b(497)](typeof _0x1d523, _0x166c1b["PsDnV"])) return ![];
|
|
50
|
+
const _0x5afe30 = _0x1d523["length"];
|
|
51
|
+
if (_0x5afe30 !== 15 && _0x166c1b["JdoVt"](_0x5afe30, 18)) return ![];
|
|
52
|
+
const _0x4638ba = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/, _0x3cae79 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}[\dXx]$/;
|
|
53
|
+
if (_0x5afe30 === 15) return _0x4638ba[_0xc2f36b(515)](_0x1d523);
|
|
54
|
+
if (_0x166c1b[_0xc2f36b(518)](_0x5afe30, 18)) return _0x3cae79[_0xc2f36b(515)](_0x1d523);
|
|
55
|
+
return ![];
|
|
56
|
+
}, _0x18b0fc[_0x5a52b2(505)] = (_0x49254c, _0x2e68a2 = 100) => {
|
|
57
|
+
const _0x43b7e6 = _0x5a52b2;
|
|
58
|
+
if ((0, _0x18b0fc[_0x43b7e6(507)])(_0x49254c)) return ![];
|
|
59
|
+
const _0x2a5be4 = _0x49254c[_0x43b7e6(513)]();
|
|
60
|
+
return _0x2a5be4[_0x43b7e6(510)] <= _0x2e68a2;
|
|
61
|
+
};
|
|
62
|
+
})(StringValidator || (StringValidator = {}));
|
|
63
|
+
function _0x5dee(_0x2a4f8a, _0x16d25f) {
|
|
64
|
+
_0x2a4f8a = _0x2a4f8a - 495;
|
|
65
|
+
const _0x301dde = _0x301d();
|
|
66
|
+
let _0x5deeff = _0x301dde[_0x2a4f8a];
|
|
67
|
+
if (_0x5dee["eSAWzu"] === void 0) {
|
|
68
|
+
var _0x4bf511 = function(_0x5a444b) {
|
|
69
|
+
const _0x1b0e05 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
|
|
70
|
+
let _0x78874a = "", _0x962d7 = "";
|
|
71
|
+
for (let _0x1a5220 = 0, _0x4dc67f, _0x4697e3, _0x4c0964 = 0; _0x4697e3 = _0x5a444b["charAt"](_0x4c0964++); ~_0x4697e3 && (_0x4dc67f = _0x1a5220 % 4 ? _0x4dc67f * 64 + _0x4697e3 : _0x4697e3, _0x1a5220++ % 4) ? _0x78874a += String["fromCharCode"](255 & _0x4dc67f >> (-2 * _0x1a5220 & 6)) : 0) {
|
|
72
|
+
_0x4697e3 = _0x1b0e05["indexOf"](_0x4697e3);
|
|
73
|
+
}
|
|
74
|
+
for (let _0x3f369b = 0, _0x72e7d1 = _0x78874a["length"]; _0x3f369b < _0x72e7d1; _0x3f369b++) {
|
|
75
|
+
_0x962d7 += "%" + ("00" + _0x78874a["charCodeAt"](_0x3f369b)["toString"](16))["slice"](-2);
|
|
76
|
+
}
|
|
77
|
+
return decodeURIComponent(_0x962d7);
|
|
78
|
+
};
|
|
79
|
+
_0x5dee["sfinZs"] = _0x4bf511, _0x5dee["elECXo"] = {}, _0x5dee["eSAWzu"] = !![];
|
|
80
|
+
}
|
|
81
|
+
const _0x177df5 = _0x301dde[0], _0x40b6cd = _0x2a4f8a + _0x177df5, _0x212658 = _0x5dee["elECXo"][_0x40b6cd];
|
|
82
|
+
return !_0x212658 ? (_0x5deeff = _0x5dee["sfinZs"](_0x5deeff), _0x5dee["elECXo"][_0x40b6cd] = _0x5deeff) : _0x5deeff = _0x212658, _0x5deeff;
|
|
83
|
+
}
|
|
84
|
+
function _0x301d() {
|
|
85
|
+
const _0x448ea6 = ["DhjPBq", "AxnbCNjHEq", "DgvZDa", "mtKZodiWngrMyuPQtq", "mtmWmdm3nJDeuhziCMu", "zxrzwKu", "mtiXodG1mgrAwLrNDW", "nZCYnZaYnfziwNz1ta", "shrOywu", "mJG2nZK0mMX2Dhb3CW", "nJC0rezwuxr5", "AxnfBwfPBa", "ndKYndG4sLDfy2Hh", "C3rYAw5N", "ntbnA1PQuKi", "Axnmyw5KBgLUzq", "AxnbzgrYzxnZ", "z01TqLa", "AxnfBxb0Eq", "AxnjzenHCMq", "sMrVvNq", "BgvUz3rO", "mtiWmdL0r0D1Bvy", "AxnqAg9Uzq"];
|
|
86
|
+
_0x301d = function() {
|
|
87
|
+
return _0x448ea6;
|
|
88
|
+
};
|
|
89
|
+
return _0x301d();
|
|
90
|
+
}
|
|
91
|
+
(function(_0x381097, _0x450577) {
|
|
92
|
+
const _0x2a990a = _0x335c, _0x8b1416 = _0x381097();
|
|
93
|
+
while (!![]) {
|
|
94
|
+
try {
|
|
95
|
+
const _0x14892e = -parseInt(_0x2a990a(474)) / 1 * (parseInt(_0x2a990a(454)) / 2) + parseInt(_0x2a990a(467)) / 3 * (parseInt(_0x2a990a(443)) / 4) + -parseInt(_0x2a990a(462)) / 5 + parseInt(_0x2a990a(453)) / 6 * (parseInt(_0x2a990a(449)) / 7) + parseInt(_0x2a990a(451)) / 8 * (parseInt(_0x2a990a(446)) / 9) + -parseInt(_0x2a990a(439)) / 10 + -parseInt(_0x2a990a(460)) / 11 * (-parseInt(_0x2a990a(450)) / 12);
|
|
96
|
+
if (_0x14892e === _0x450577) break;
|
|
97
|
+
else _0x8b1416["push"](_0x8b1416["shift"]());
|
|
98
|
+
} catch (_0x319057) {
|
|
99
|
+
_0x8b1416["push"](_0x8b1416["shift"]());
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
})(_0x1151, 379282);
|
|
103
|
+
function _0x335c(_0x5817bd, _0x138cf8) {
|
|
104
|
+
_0x5817bd = _0x5817bd - 435;
|
|
105
|
+
const _0x1151f9 = _0x1151();
|
|
106
|
+
let _0x335cbf = _0x1151f9[_0x5817bd];
|
|
107
|
+
if (_0x335c["gtSdRC"] === void 0) {
|
|
108
|
+
var _0x3f717e = function(_0x53d8b9) {
|
|
109
|
+
const _0x2948d4 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
|
|
110
|
+
let _0x40887d = "", _0x32166e = "";
|
|
111
|
+
for (let _0x1b0e7f = 0, _0x46d87e, _0x4765e2, _0x519253 = 0; _0x4765e2 = _0x53d8b9["charAt"](_0x519253++); ~_0x4765e2 && (_0x46d87e = _0x1b0e7f % 4 ? _0x46d87e * 64 + _0x4765e2 : _0x4765e2, _0x1b0e7f++ % 4) ? _0x40887d += String["fromCharCode"](255 & _0x46d87e >> (-2 * _0x1b0e7f & 6)) : 0) {
|
|
112
|
+
_0x4765e2 = _0x2948d4["indexOf"](_0x4765e2);
|
|
113
|
+
}
|
|
114
|
+
for (let _0x18b319 = 0, _0x514fd2 = _0x40887d["length"]; _0x18b319 < _0x514fd2; _0x18b319++) {
|
|
115
|
+
_0x32166e += "%" + ("00" + _0x40887d["charCodeAt"](_0x18b319)["toString"](16))["slice"](-2);
|
|
116
|
+
}
|
|
117
|
+
return decodeURIComponent(_0x32166e);
|
|
118
|
+
};
|
|
119
|
+
_0x335c["ZXqqDo"] = _0x3f717e, _0x335c["MwaLwF"] = {}, _0x335c["gtSdRC"] = !![];
|
|
120
|
+
}
|
|
121
|
+
const _0x5e0a4c = _0x1151f9[0], _0x3b118d = _0x5817bd + _0x5e0a4c, _0x4a566d = _0x335c["MwaLwF"][_0x3b118d];
|
|
122
|
+
return !_0x4a566d ? (_0x335cbf = _0x335c["ZXqqDo"](_0x335cbf), _0x335c["MwaLwF"][_0x3b118d] = _0x335cbf) : _0x335cbf = _0x4a566d, _0x335cbf;
|
|
123
|
+
}
|
|
124
|
+
var StringFormatter;
|
|
125
|
+
function _0x1151() {
|
|
126
|
+
const _0x49fd5f = ["BgvUz3rO", "zgvZzw5ZAxrPEMvoyw1L", "jdeQkIOQjdm", "ohvTBMrKtW", "wwnkBvq", "C3jMDfi", "ndC3rwvSywz6", "vKfWB2i", "CMvWBgfJzq", "nJq0DuHit25I", "oty1mdC2mevSq3DPDa", "ntK3mdrQvu5Ur3y", "u1POwuu", "mJe1nJrKDhHruwi", "mta2ndHvrLbLBfa", "AhHhvxK", "zgvZzw5ZAxrPEMvqAg9Uzq", "zMXVB3i", "CMvWzwf0", "BwLU", "mtfPDgf4t2C", "DhjPBq", "mtK1mdC5nwTKCwn1vq", "uKzyt3O", "zgvZzw5ZAxrPEMvfBwfPBa", "DxPnsva", "Cg93", "mJKXmJyXwNz0D0nK", "jdeQkIOQkIOQkIqZ", "vhbetwS", "CgH5yNy", "Dg9gAxHLza", "C2XPy2u", "jdeQ", "mti4B2LIq1HZ", "CM91BMq", "C3bSAxq", "Bwf4", "AxnfBxb0Eq", "vuTHEeS", "zgvZzw5ZAxrPEMvbzgrYzxnZ", "jdeQkIOQkIOKmW", "EuXvB2S", "z3fcBwe", "t0nQEve", "mJCZnJC4mfLrrKn1uW"];
|
|
127
|
+
_0x1151 = function() {
|
|
128
|
+
return _0x49fd5f;
|
|
129
|
+
};
|
|
130
|
+
return _0x1151();
|
|
131
|
+
}
|
|
132
|
+
((_0x214acb) => {
|
|
133
|
+
const _0x442065 = _0x335c, _0x481737 = { "srftR": function(_0x3a2259, _0x38e12c) {
|
|
134
|
+
return _0x3a2259(_0x38e12c);
|
|
135
|
+
}, "UKaxK": _0x442065(442), "VApob": function(_0x34e85d, _0x4663da) {
|
|
136
|
+
return _0x34e85d(_0x4663da);
|
|
137
|
+
}, "TpDMk": _0x442065(435), "SZhYE": function(_0x1c3461, _0x5186e5) {
|
|
138
|
+
return _0x1c3461 + _0x5186e5;
|
|
139
|
+
}, "OCjyQ": function(_0x356cdf, _0x89d262) {
|
|
140
|
+
return _0x356cdf === _0x89d262;
|
|
141
|
+
}, "hxGUy": _0x442065(473), "yLUok": function(_0x1886f4, _0x126652) {
|
|
142
|
+
return _0x1886f4 <= _0x126652;
|
|
143
|
+
}, "phybv": "0.00", "RFXOz": function(_0x68fc75, _0x3e865b) {
|
|
144
|
+
return _0x68fc75(_0x3e865b);
|
|
145
|
+
}, "YcJmT": function(_0x5603d6, _0x272181) {
|
|
146
|
+
return _0x5603d6 / _0x272181;
|
|
147
|
+
}, "aXDWo": function(_0x3d931d, _0x35d172) {
|
|
148
|
+
return _0x3d931d * _0x35d172;
|
|
149
|
+
} };
|
|
150
|
+
_0x214acb[_0x442065(456)] = (_0x105f6d) => {
|
|
151
|
+
const _0x3d2038 = _0x442065, _0x3cd5b4 = _0x481737[_0x3d2038(445)](String, _0x105f6d)[_0x3d2038(461)]();
|
|
152
|
+
if (StringValidator[_0x3d2038(478)](_0x3cd5b4)) return "";
|
|
153
|
+
if (!StringValidator["isPhone"](_0x3cd5b4)) return _0x3cd5b4;
|
|
154
|
+
return _0x3cd5b4[_0x3d2038(448)](/^(\d{3})(\d{4})(\d{4})$/, _0x481737[_0x3d2038(479)]);
|
|
155
|
+
}, _0x214acb["desensitizeIdCard"] = (_0x107065) => {
|
|
156
|
+
const _0x35c0ab = _0x442065, _0x34df0f = _0x481737[_0x35c0ab(447)](String, _0x107065)[_0x35c0ab(461)]();
|
|
157
|
+
if (StringValidator["isEmpty"](_0x34df0f)) return "";
|
|
158
|
+
const _0x519639 = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
|
159
|
+
if (!_0x519639["test"](_0x34df0f)) return _0x34df0f;
|
|
160
|
+
const _0x13fd07 = _0x34df0f["toUpperCase"]();
|
|
161
|
+
if (_0x13fd07["length"] === 18) return _0x13fd07[_0x35c0ab(448)](/^(\d{6})(\d{8})([\dX]{4})$/, _0x35c0ab(468));
|
|
162
|
+
if (_0x13fd07[_0x35c0ab(440)] === 15) return _0x13fd07[_0x35c0ab(448)](/^(\d{6})(\d{6})(\d{3})$/, _0x481737[_0x35c0ab(469)]);
|
|
163
|
+
return _0x34df0f;
|
|
164
|
+
}, _0x214acb[_0x442065(441)] = (_0x41175a) => {
|
|
165
|
+
const _0xf7dde0 = _0x442065, _0x2880ea = { "uzMIP": function(_0x119f43, _0x1dfd5e) {
|
|
166
|
+
const _0x3ccbc2 = _0x335c;
|
|
167
|
+
return _0x481737[_0x3ccbc2(452)](_0x119f43, _0x1dfd5e);
|
|
168
|
+
}, "gqBma": function(_0x3c7c2c, _0x7e8d5a) {
|
|
169
|
+
return _0x3c7c2c + _0x7e8d5a;
|
|
170
|
+
} }, _0x459592 = (_0x41175a == null ? void 0 : _0x41175a[_0xf7dde0(461)]()) || "";
|
|
171
|
+
if (StringValidator[_0xf7dde0(478)](_0x459592)) return "";
|
|
172
|
+
const _0x1053c9 = _0x459592["length"];
|
|
173
|
+
if (_0x481737[_0xf7dde0(438)](_0x1053c9, 1)) return _0x459592;
|
|
174
|
+
if (_0x481737[_0xf7dde0(438)](_0x1053c9, 2)) return _0x459592[_0xf7dde0(448)](/^(\S)(\S)$/, _0x481737[_0xf7dde0(455)]);
|
|
175
|
+
return _0x459592[_0xf7dde0(448)](/^(\S)(\S+)(\S)$/, (_0x414787, _0x4175fd, _0x2c8dbd, _0x4a5797) => {
|
|
176
|
+
const _0x1e4c24 = _0xf7dde0;
|
|
177
|
+
return _0x2880ea[_0x1e4c24(465)](_0x2880ea[_0x1e4c24(437)](_0x4175fd, "*"[_0x1e4c24(458)](_0x2c8dbd["length"])), _0x4a5797);
|
|
178
|
+
});
|
|
179
|
+
}, _0x214acb[_0x442065(480)] = (_0x5e37fb, _0xc826eb = 8) => {
|
|
180
|
+
const _0x3eeebe = _0x442065, _0x5aab06 = (_0x5e37fb == null ? void 0 : _0x5e37fb[_0x3eeebe(461)]()) || "";
|
|
181
|
+
if (StringValidator[_0x3eeebe(478)](_0x5aab06)) return "";
|
|
182
|
+
const _0x575bff = Math[_0x3eeebe(477)](1, Math["min"](100, _0xc826eb));
|
|
183
|
+
if (_0x481737[_0x3eeebe(436)](_0x5aab06[_0x3eeebe(440)], _0x575bff)) return _0x5aab06;
|
|
184
|
+
const _0x594563 = _0x5aab06[_0x3eeebe(472)](0, _0x575bff);
|
|
185
|
+
return _0x594563 + "********";
|
|
186
|
+
}, _0x214acb[_0x442065(464)] = (_0x2f87fb) => {
|
|
187
|
+
const _0x9abf = _0x442065, _0x246514 = (_0x2f87fb == null ? void 0 : _0x2f87fb["trim"]()) || "";
|
|
188
|
+
if (StringValidator[_0x9abf(478)](_0x246514)) return "";
|
|
189
|
+
if (!StringValidator["isEmail"](_0x246514)) return _0x246514;
|
|
190
|
+
return _0x246514[_0x9abf(448)](/^([^\s@]{1})([^\s@]*)(@.*)$/, _0x481737[_0x9abf(479)]);
|
|
191
|
+
}, _0x214acb["formatAmount"] = (_0x431abd, _0x2c5caf = 2) => {
|
|
192
|
+
const _0x2d3b72 = _0x442065;
|
|
193
|
+
if (StringValidator[_0x2d3b72(478)](_0x431abd)) return _0x481737[_0x2d3b72(470)];
|
|
194
|
+
let _0x62d1ee = Number(_0x431abd);
|
|
195
|
+
if (_0x481737[_0x2d3b72(463)](isNaN, _0x62d1ee) || !_0x481737[_0x2d3b72(463)](isFinite, _0x62d1ee)) return _0x481737[_0x2d3b72(470)];
|
|
196
|
+
const _0x129a6b = Math[_0x2d3b72(477)](0, Math[_0x2d3b72(459)](10, Math[_0x2d3b72(457)](_0x2c5caf))), _0x55ea24 = Math[_0x2d3b72(466)](10, _0x129a6b), _0x446120 = _0x481737[_0x2d3b72(444)](Math[_0x2d3b72(475)](_0x481737["aXDWo"](_0x62d1ee, _0x55ea24)), _0x55ea24), [_0x535be2, _0x3bfb8f] = _0x446120[_0x2d3b72(471)](_0x129a6b)[_0x2d3b72(476)]("."), _0x21385b = _0x535be2[_0x2d3b72(448)](/\B(?=(\d{3})+(?!\d))/g, ","), _0x45a1b2 = _0x3bfb8f || "0"[_0x2d3b72(458)](_0x129a6b);
|
|
197
|
+
return _0x21385b + "." + _0x45a1b2;
|
|
198
|
+
};
|
|
199
|
+
})(StringFormatter || (StringFormatter = {}));
|
|
200
|
+
(function(_0x271d96, _0x2a4818) {
|
|
201
|
+
var _0x27d51a = _0x1fb2, _0x237604 = _0x271d96();
|
|
202
|
+
while (!![]) {
|
|
203
|
+
try {
|
|
204
|
+
var _0x143d86 = parseInt(_0x27d51a(331)) / 1 * (parseInt(_0x27d51a(332)) / 2) + -parseInt(_0x27d51a(322)) / 3 * (-parseInt(_0x27d51a(325)) / 4) + -parseInt(_0x27d51a(327)) / 5 + -parseInt(_0x27d51a(326)) / 6 + -parseInt(_0x27d51a(324)) / 7 * (parseInt(_0x27d51a(330)) / 8) + -parseInt(_0x27d51a(323)) / 9 * (-parseInt(_0x27d51a(329)) / 10) + parseInt(_0x27d51a(328)) / 11;
|
|
205
|
+
if (_0x143d86 === _0x2a4818) break;
|
|
206
|
+
else _0x237604["push"](_0x237604["shift"]());
|
|
207
|
+
} catch (_0x45ec4f) {
|
|
208
|
+
_0x237604["push"](_0x237604["shift"]());
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
})(_0x4108, 359776);
|
|
212
|
+
function _0x1fb2(_0x410ced, _0x5060b3) {
|
|
213
|
+
_0x410ced = _0x410ced - 322;
|
|
214
|
+
var _0x4108e9 = _0x4108();
|
|
215
|
+
var _0x1fb209 = _0x4108e9[_0x410ced];
|
|
216
|
+
if (_0x1fb2["YnNgva"] === void 0) {
|
|
217
|
+
var _0x45ff9c = function(_0x2d6465) {
|
|
218
|
+
var _0x4a1a8c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
|
|
219
|
+
var _0x1b889f = "", _0x5e8c8b = "";
|
|
220
|
+
for (var _0x4de91e = 0, _0x2600c9, _0x50e455, _0x1ef6b5 = 0; _0x50e455 = _0x2d6465["charAt"](_0x1ef6b5++); ~_0x50e455 && (_0x2600c9 = _0x4de91e % 4 ? _0x2600c9 * 64 + _0x50e455 : _0x50e455, _0x4de91e++ % 4) ? _0x1b889f += String["fromCharCode"](255 & _0x2600c9 >> (-2 * _0x4de91e & 6)) : 0) {
|
|
221
|
+
_0x50e455 = _0x4a1a8c["indexOf"](_0x50e455);
|
|
222
|
+
}
|
|
223
|
+
for (var _0x45b289 = 0, _0x4be965 = _0x1b889f["length"]; _0x45b289 < _0x4be965; _0x45b289++) {
|
|
224
|
+
_0x5e8c8b += "%" + ("00" + _0x1b889f["charCodeAt"](_0x45b289)["toString"](16))["slice"](-2);
|
|
225
|
+
}
|
|
226
|
+
return decodeURIComponent(_0x5e8c8b);
|
|
227
|
+
};
|
|
228
|
+
_0x1fb2["JycMyj"] = _0x45ff9c, _0x1fb2["GKSXKk"] = {}, _0x1fb2["YnNgva"] = !![];
|
|
229
|
+
}
|
|
230
|
+
var _0x58040a = _0x4108e9[0], _0x1e7aee = _0x410ced + _0x58040a, _0x50bcb5 = _0x1fb2["GKSXKk"][_0x1e7aee];
|
|
231
|
+
return !_0x50bcb5 ? (_0x1fb209 = _0x1fb2["JycMyj"](_0x1fb209), _0x1fb2["GKSXKk"][_0x1e7aee] = _0x1fb209) : _0x1fb209 = _0x50bcb5, _0x1fb209;
|
|
232
|
+
}
|
|
233
|
+
function _0x4108() {
|
|
234
|
+
var _0x370856 = ["ntuYmZKYogX6sejYDa", "mJy5A2P0s3z3", "nti1oeDvyLL6wq", "mtm2odmWm213ExjVrG", "nduWrwL2q0Xz", "n3vNBxj5za", "nhrrrgnOyW", "mZG2mdm4mMjcEgHJzq", "nZmWodq1sLb0rNzw", "mZC4ode5murOtNPbqq", "nJy0mZbxAfvgtwO"];
|
|
235
|
+
_0x4108 = function() {
|
|
236
|
+
return _0x370856;
|
|
237
|
+
};
|
|
238
|
+
return _0x4108();
|
|
239
|
+
}
|
|
240
|
+
export {
|
|
241
|
+
StringFormatter,
|
|
242
|
+
StringValidator
|
|
243
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 字符串校验工具(仅返回boolean,无错误提示)
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export declare namespace StringValidator {
|
|
6
|
+
/**
|
|
7
|
+
* 空值校验(适配表单场景)
|
|
8
|
+
* @param val 待校验值(支持字符串/数组/null/undefined)
|
|
9
|
+
* @returns boolean - true=空,false=非空
|
|
10
|
+
*/
|
|
11
|
+
const isEmpty: (val: unknown) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* 手机号校验(11位,适配最新13-19号段)
|
|
14
|
+
* @param val 手机号字符串
|
|
15
|
+
* @returns boolean - true=合法,false=不合法
|
|
16
|
+
*/
|
|
17
|
+
const isPhone: (val: string) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 固定电话校验(支持区号+号码,如 010-12345678)
|
|
20
|
+
* @param val 固定电话字符串
|
|
21
|
+
* @returns boolean - true=合法,false=不合法
|
|
22
|
+
*/
|
|
23
|
+
const isLandline: (val: string) => boolean;
|
|
24
|
+
/**
|
|
25
|
+
* 邮箱格式校验
|
|
26
|
+
* @param val 邮箱字符串
|
|
27
|
+
* @returns boolean - true=合法,false=不合法
|
|
28
|
+
*/
|
|
29
|
+
const isEmail: (val: string) => boolean;
|
|
30
|
+
/**
|
|
31
|
+
* 身份证号基础校验
|
|
32
|
+
* @param val 身份证号字符串(空值/非字符串返回false)
|
|
33
|
+
* @returns boolean 校验结果(true=有效,false=无效)
|
|
34
|
+
*/
|
|
35
|
+
const isIdCard: (val: string) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* 地址合法性校验(仅校验非空+长度限制)
|
|
38
|
+
* @param val 地址字符串
|
|
39
|
+
* @param maxLength 最大长度(默认100)
|
|
40
|
+
* @returns boolean - true=合法,false=不合法
|
|
41
|
+
*/
|
|
42
|
+
const isAddress: (val: string, maxLength?: number) => boolean;
|
|
43
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nannygoose-utils/string-handler",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "前端字符串处理工具包:包含空值/手机号/邮箱/地址校验、常用数据脱敏、金额格式化等功能",
|
|
5
|
+
"main": "./dist/index.cjs.js",
|
|
6
|
+
"module": "./dist/index.es.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "vite build",
|
|
12
|
+
"prepublishOnly": "npm run build",
|
|
13
|
+
"version:patch": "npm version patch",
|
|
14
|
+
"release": "npm run version:patch && npm publish --access public"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"utils"
|
|
18
|
+
],
|
|
19
|
+
"author": "<tandongyang@1ceng.com>",
|
|
20
|
+
"license": "ISC",
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/node": "^25.2.0",
|
|
23
|
+
"rollup-plugin-obfuscator": "^1.1.0",
|
|
24
|
+
"terser": "^5.46.0",
|
|
25
|
+
"typescript": "^5.9.3",
|
|
26
|
+
"vite": "^6.0.0",
|
|
27
|
+
"vite-plugin-dts": "^4.0.0"
|
|
28
|
+
}
|
|
29
|
+
}
|