Skip to content

Commit c1fd2e2

Browse files
Implement support for leading plus (GH-97)
2 parents bef0833 + f86e0d2 commit c1fd2e2

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

development/src/phone-hooks/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export const cleanInput = (input: any, pattern: string) => {
3838

3939
export const getFormattedNumber = (rawValue: any, pattern?: string) => {
4040
/** Returns the reformatted input value based on the given pattern */
41+
if (/^\+\D*?$/.test(rawValue)) return "+";
4142
pattern = pattern || getMetadata(rawValue)?.[3] || "";
4243
return displayFormat(cleanInput(rawValue, pattern.replaceAll(/\d/g, ".")).join(""));
4344
}

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export const cleanInput = (input: any, pattern: string) => {
3838

3939
export const getFormattedNumber = (rawValue: any, pattern?: string) => {
4040
/** Returns the reformatted input value based on the given pattern */
41+
if (/^\+\D*?$/.test(rawValue)) return "+";
4142
pattern = pattern || getMetadata(rawValue)?.[3] || "";
4243
return displayFormat(cleanInput(rawValue, pattern.replaceAll(/\d/g, ".")).join(""));
4344
}

tests/utils.test.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ describe("Verifying the basic functionality", () => {
2323
assert(parsedPhoneNumberWithoutParentheses.areaCode === "702" && parsedPhoneNumberWithoutParentheses.phoneNumber === "1234567");
2424
assert(rawPhoneNumber1 === rawValue);
2525
assert(rawPhoneNumber2 === rawValue);
26+
assert(getFormattedNumber("+") === "+");
27+
assert(getFormattedNumber("++") === "+");
28+
assert(getFormattedNumber("+a") === "+");
2629
})
2730

2831
it("Check the phone number validity", () => {

0 commit comments

Comments
 (0)