@jdsalasc/solvejs-regex 1.1.0 → 1.2.0
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 +8 -9
- package/dist/cjs/index.cjs +14 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.js +13 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
# @jdsalasc/solvejs-regex
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Zero-dependency regex toolbox for common validation and parsing scenarios.
|
|
4
|
+
|
|
5
|
+
## Tools Included
|
|
6
|
+
|
|
7
|
+
- Built-in patterns: `email`, `phoneE164`, `urlHttp`, `hexColor`, `username`, `uuidV4`, `ipv4`, `isoDate`
|
|
8
|
+
- `validateByName`
|
|
9
|
+
- `validateWithPattern`
|
|
10
|
+
- `escapeRegex`
|
|
4
11
|
|
|
5
12
|
## Install
|
|
6
13
|
|
|
7
14
|
```bash
|
|
8
15
|
npm i @jdsalasc/solvejs-regex
|
|
9
16
|
```
|
|
10
|
-
|
|
11
|
-
## Example
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
import { validateByName } from "@jdsalasc/solvejs-regex";
|
|
15
|
-
|
|
16
|
-
validateByName("user@example.com", "email");
|
|
17
|
-
```
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -4,12 +4,16 @@ exports.REGEX_PATTERNS = void 0;
|
|
|
4
4
|
exports.testPattern = testPattern;
|
|
5
5
|
exports.validateWithPattern = validateWithPattern;
|
|
6
6
|
exports.validateByName = validateByName;
|
|
7
|
+
exports.escapeRegex = escapeRegex;
|
|
7
8
|
exports.REGEX_PATTERNS = {
|
|
8
9
|
email: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
|
|
9
10
|
phoneE164: /^\+[1-9]\d{1,14}$/,
|
|
10
11
|
urlHttp: /^https?:\/\/.+/i,
|
|
11
12
|
hexColor: /^#(?:[0-9a-fA-F]{3}){1,2}$/,
|
|
12
|
-
username: /^[a-zA-Z0-9_]{3,30}
|
|
13
|
+
username: /^[a-zA-Z0-9_]{3,30}$/,
|
|
14
|
+
uuidV4: /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
|
|
15
|
+
ipv4: /^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/,
|
|
16
|
+
isoDate: /^\d{4}-\d{2}-\d{2}$/
|
|
13
17
|
};
|
|
14
18
|
/**
|
|
15
19
|
* Tests a string against a regular expression safely.
|
|
@@ -49,4 +53,13 @@ function validateWithPattern(input, pattern, options) {
|
|
|
49
53
|
function validateByName(input, patternName) {
|
|
50
54
|
return testPattern(input, exports.REGEX_PATTERNS[patternName]);
|
|
51
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Escapes user-provided text to be safely used inside a regex pattern.
|
|
58
|
+
*
|
|
59
|
+
* @param value - Raw string value.
|
|
60
|
+
* @returns Escaped regex-safe string.
|
|
61
|
+
*/
|
|
62
|
+
function escapeRegex(value) {
|
|
63
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
64
|
+
}
|
|
52
65
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAqBA,kCAMC;AAWD,kDAGC;AASD,wCAEC;AAQD,kCAEC;AA9DY,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,wEAAwE;IAChF,IAAI,EAAE,mFAAmF;IACzF,OAAO,EAAE,qBAAqB;CACtB,CAAC;AAIX;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CAAC,KAAa,EAAE,OAAe,EAAE,OAA4B;IAC9F,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,KAAa,EAAE,WAAwB;IACpE,OAAO,WAAW,CAAC,KAAK,EAAE,sBAAc,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,6 +4,9 @@ export declare const REGEX_PATTERNS: {
|
|
|
4
4
|
readonly urlHttp: RegExp;
|
|
5
5
|
readonly hexColor: RegExp;
|
|
6
6
|
readonly username: RegExp;
|
|
7
|
+
readonly uuidV4: RegExp;
|
|
8
|
+
readonly ipv4: RegExp;
|
|
9
|
+
readonly isoDate: RegExp;
|
|
7
10
|
};
|
|
8
11
|
export type PatternName = keyof typeof REGEX_PATTERNS;
|
|
9
12
|
/**
|
|
@@ -35,3 +38,10 @@ export declare function validateWithPattern(input: string, pattern: RegExp, opti
|
|
|
35
38
|
* @returns `true` when the selected pattern matches.
|
|
36
39
|
*/
|
|
37
40
|
export declare function validateByName(input: string, patternName: PatternName): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Escapes user-provided text to be safely used inside a regex pattern.
|
|
43
|
+
*
|
|
44
|
+
* @param value - Raw string value.
|
|
45
|
+
* @returns Escaped regex-safe string.
|
|
46
|
+
*/
|
|
47
|
+
export declare function escapeRegex(value: string): string;
|
package/dist/esm/index.js
CHANGED
|
@@ -3,7 +3,10 @@ export const REGEX_PATTERNS = {
|
|
|
3
3
|
phoneE164: /^\+[1-9]\d{1,14}$/,
|
|
4
4
|
urlHttp: /^https?:\/\/.+/i,
|
|
5
5
|
hexColor: /^#(?:[0-9a-fA-F]{3}){1,2}$/,
|
|
6
|
-
username: /^[a-zA-Z0-9_]{3,30}
|
|
6
|
+
username: /^[a-zA-Z0-9_]{3,30}$/,
|
|
7
|
+
uuidV4: /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
|
|
8
|
+
ipv4: /^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/,
|
|
9
|
+
isoDate: /^\d{4}-\d{2}-\d{2}$/
|
|
7
10
|
};
|
|
8
11
|
/**
|
|
9
12
|
* Tests a string against a regular expression safely.
|
|
@@ -43,4 +46,13 @@ export function validateWithPattern(input, pattern, options) {
|
|
|
43
46
|
export function validateByName(input, patternName) {
|
|
44
47
|
return testPattern(input, REGEX_PATTERNS[patternName]);
|
|
45
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Escapes user-provided text to be safely used inside a regex pattern.
|
|
51
|
+
*
|
|
52
|
+
* @param value - Raw string value.
|
|
53
|
+
* @returns Escaped regex-safe string.
|
|
54
|
+
*/
|
|
55
|
+
export function escapeRegex(value) {
|
|
56
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
57
|
+
}
|
|
46
58
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,wEAAwE;IAChF,IAAI,EAAE,mFAAmF;IACzF,OAAO,EAAE,qBAAqB;CACtB,CAAC;AAIX;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,OAAe,EAAE,OAA4B;IAC9F,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,WAAwB;IACpE,OAAO,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jdsalasc/solvejs-regex",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Zero-dependency regex toolkit for JS/TS with common production patterns and regex escaping helpers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -43,10 +43,12 @@
|
|
|
43
43
|
"node": ">=18"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
46
|
-
"regex
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
46
|
+
"regex",
|
|
47
|
+
"regex patterns",
|
|
48
|
+
"uuid regex",
|
|
49
|
+
"ipv4 regex",
|
|
50
|
+
"validate regex",
|
|
51
|
+
"escape regex",
|
|
50
52
|
"solvejs"
|
|
51
53
|
]
|
|
52
54
|
}
|