We use cookies to improve your experience. By using our site, you agree to our Cookies Policy.
rangeRegex = /([A-J])([1-9][0-9]?):([A-J])([1-9][0-9]?)/gi;
`:` is literal
`gi` means global and case-insensitive
`?` means optional
const phoneRegex = /^(?:1\s?)?(?:\(\d{3}\)|\d{3})[-.\s]?\d{3}[-.\s]?\d{4}$/;
// Test Cases console.log(phoneRegex.test("1 555-555-5555")); // true console.log(phoneRegex.test("1 (555) 555-5555"));// true console.log(phoneRegex.test("1(555)555-5555")); // true console.log(phoneRegex.test("1 555 555 5555")); // true console.log(phoneRegex.test("5555555555")); // true console.log(phoneRegex.test("555-555-5555")); // true console.log(phoneRegex.test("(555)555-5555")); // true console.log(phoneRegex.test("(555) 555-5555")); // true console.log(phoneRegex.test("+1 (555) 555-5555"));// true console.log(phoneRegex.test("123-456-7890")); // true console.log(phoneRegex.test("12-3456-7890")); // false (invalid format) console.log(phoneRegex.test("456-7890")); // false (missing area code) console.log(phoneRegex.test("5555-555-5555")); // false (extra digit)
Explanation of the Regex:
(?:1\s?)? → Allows an optional leading 1 with an optional space.
(?:\(\d{3}\)|\d{3}) → Matches either (555) or 555 (area code).
[-.\s]? → Matches an optional separator (-, ., or space).
\d{3} → Matches the next three digits.
[-.\s]? → Matches an optional separator.
\d{4} → Matches the last four digits.
2/18/2025, 10:09:04 PM