diff --git a/extensions/sms/src/phone.test.ts b/extensions/sms/src/phone.test.ts index d1e8f731e3a4..d70a51af2972 100644 --- a/extensions/sms/src/phone.test.ts +++ b/extensions/sms/src/phone.test.ts @@ -9,14 +9,18 @@ import { describe("SMS phone normalization", () => { it("normalizes sms-prefixed E.164 phone numbers", () => { expect(normalizeSmsPhoneNumber("sms:+1 (555) 123-4567")).toBe("+15551234567"); + expect(normalizeSmsPhoneNumber("sms: +1 (555) 123-4567")).toBe("+15551234567"); expect(normalizeSmsPhoneNumber("twilio-sms:+1 (555) 123-4567")).toBe("+15551234567"); + expect(normalizeSmsPhoneNumber("twilio-sms: +1 (555) 123-4567")).toBe("+15551234567"); expect(normalizeSmsAllowFrom("SMS:+44 20 7946 0958")).toBe("+442079460958"); + expect(normalizeSmsAllowFrom("SMS: +44 20 7946 0958")).toBe("+442079460958"); expect(normalizeSmsAllowFrom("*")).toBe("*"); }); it("validates E.164-ish SMS targets", () => { expect(looksLikeSmsPhoneNumber("+15551234567")).toBe(true); expect(looksLikeSmsPhoneNumber("15551234567")).toBe(true); + expect(looksLikeSmsPhoneNumber("sms: +1 (555) 123-4567")).toBe(true); expect(looksLikeSmsPhoneNumber("+01234567")).toBe(false); expect(looksLikeSmsPhoneNumber("+1555")).toBe(false); }); diff --git a/extensions/sms/src/phone.ts b/extensions/sms/src/phone.ts index e6852cba2607..e19f099365d9 100644 --- a/extensions/sms/src/phone.ts +++ b/extensions/sms/src/phone.ts @@ -1,6 +1,9 @@ // Sms plugin module implements phone behavior. export function normalizeSmsPhoneNumber(raw: string): string { - const trimmed = raw.trim().replace(/^(?:sms|twilio-sms):/i, ""); + const trimmed = raw + .trim() + .replace(/^(?:sms|twilio-sms):/i, "") + .trim(); if (!trimmed) { return ""; }