표준 10 자리 전화 번호와 일치하는 정규 표현식


125

다음 형식을 지원하는 표준 미국 유형 전화 번호에 대한 정규식을 작성하고 싶습니다.

###-###-####
(###) ###-####
### ### ####
###.###.####

여기서 #은 임의의 숫자를 의미합니다. 지금까지 다음 표현을 생각해 냈습니다.

^[1-9]\d{2}-\d{3}-\d{4}
^\(\d{3}\)\s\d{3}-\d{4}
^[1-9]\d{2}\s\d{3}\s\d{4}
^[1-9]\d{2}\.\d{3}\.\d{4}

각기. 마지막 것이 점선 검사에 맞는지 확실하지 않습니다. 또한 내가 언급 한 다른 형식에 맞는 4 개의 다른 표현식 대신 단일 표현식을 작성할 수있는 방법이 있는지 알고 싶습니다. 그렇다면 어떻게해야할지 모르겠습니다. 또한 지역 번호를 옵션 구성 요소로 지원하는 조건을 포함 할 수 있도록 표현식 / 표현식을 수정하는 방법도 있습니다. 같은 것

+1 ### ### ####

여기서 +1은 지역 번호이며 선택 사항입니다.


5
stackoverflow.com/questions/123559/… 의 중복 가능성이 있습니다 . 제안 된 대답은 숫자가 아닌 모든 문자를 제거하는 것입니다. 이런 식으로 검증을 단순화합니다
Arnaud Denoyelle 2013 년

1
나는 이것이 오래 전이라는 것을 알고 있지만 미국 지역 번호가 1로 시작할 수 있다고 생각하지 않습니다. (123) 456-7890은 선행 1 때문에 유효하지 않을 것입니다.
bobanahalf

더 완전한 정답은 다음을 참조하십시오. stackoverflow.com/a/18626090/561710
Joe Johnston

전화 번호를 파싱하는 것은 어렵습니다. Google은이를 위해 오픈 소스 라이브러리를 출시했습니다. 자신, 사용 도움말 libphonenumber (또는 해당 언어로 포크)
codidact.com로 이동 aloisdg

답변:


212
^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$

다음과 일치

123-456-7890
(123) 456-7890
123 456 7890
123.456.7890
+91 (123) 456-7890

미국 이외의 번호에 대한 일치를 원하지 않는 경우

^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$

업데이트 :
아래 사용자 Simon Weaver가 알 수 있듯이 형식화되지 않은 숫자 일치에도 관심이 있다면 구분 문자 클래스를 다음과 같이 선택 사항으로 만드십시오.[\s.-]?

^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

1
첫 번째 줄의 (? \ d {3}) 부분에 물음표가 필요하지 않다고 생각하십니까? 나는 우리가 '('와 ')'안에 숫자의 0 또는 하나의 발생이 아니라 하나 이상의 발생이 필요하다고 생각합니다
noobcoder

2
?괄호에이 적용 ()되지 않은 자리에. 완전한 관련 정규식은 \(?\d{3}\)?. 선택 사항 (기준) \d{3}사이에 3 자리 숫자가 있어야 함을 지정합니다 . ()?
Ravi Thapliyal 2013 년

6
참고 : 이것은 문제가 될 수도 있고 아닐 수도있는 1234567890과 일치하지 않습니다. 나를 위해 그것을이었다 - 나는 방금 추가 있도록 ?각 후 [\s.-]그것을 선택하도록
Simon_Weaver

1
@Simon_Weaver 귀하의 의견에 감사드립니다. 나는 당신의 관찰을 대답에 추가했습니다.
Ravi Thapliyal 2015 년

3
@BobRay가 언급 한 문제를 피하는 것을 원한다면 ^(\+\d{1,2}\s)?((\(\d{3}\))|(\d{3}))[\s.-]\d{3}[\s.-]\d{4}$. (나는 기본적으로 그냥 커버 지역 코드가없는 하나 개의 괄호로 변형 한 허용하는 정규식의 세그먼트를 중복)
Shrey 굽타

128

이 문제에 대해 가능한 많은 변형이 있습니다. 다음은 이전에 SO에 배치 한 답변과 유사한 정규식입니다.

^\s*(?:\+?(\d{1,3}))?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{4})(?: *x(\d+))?\s*$

다음 예제와 훨씬 더 일치합니다.

18005551234
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234
800 555 1234x5678
8005551234 x5678
1    800    555-1234
1----800----555-1234

전화 번호를 입력하는 방법에 관계없이 캡처 그룹을 사용하여 전화 번호를 분류하여 코드에서 처리 할 수 ​​있습니다.

  • Group1 : 국가 코드 (예 : 1 또는 86)
  • Group2 : 지역 코드 (예 : 800)
  • 그룹 3 : 교환 (예 : 555)
  • Group4 : 가입자 번호 (예 : 1234)
  • Group5 : 내선 (예 : 5678)

관심이있는 경우 다음은 표현식의 분석입니다.

^\s*                #Line start, match any whitespaces at the beginning if any.
(?:\+?(\d{1,3}))?   #GROUP 1: The country code. Optional.
[-. (]*             #Allow certain non numeric characters that may appear between the Country Code and the Area Code.
(\d{3})             #GROUP 2: The Area Code. Required.
[-. )]*             #Allow certain non numeric characters that may appear between the Area Code and the Exchange number.
(\d{3})             #GROUP 3: The Exchange number. Required.
[-. ]*              #Allow certain non numeric characters that may appear between the Exchange number and the Subscriber number.
(\d{4})             #Group 4: The Subscriber Number. Required.
(?: *x(\d+))?       #Group 5: The Extension number. Optional.
\s*$                #Match any ending whitespaces if any and the end of string.

지역 번호를 선택 사항으로 만들려면 지역 번호의 (\ d {3}) 뒤에 물음표를 추가하면됩니다.


7
최고의 답변 IMHO. 내 목적 \s을 위해 유효성 검사를 위해 사용하고 필드가 이미 잘 렸기 때문에 시작과 끝이 필요하지 않습니다.
다니엘

1
단연코 최고의 답변이며 가장 완벽합니다. 정규식 분석도 정말 감사합니다.
Bryant Jackson 17 년

@Kondal 실패하게 만드는 데 사용하는 입력에 대해 궁금합니다. 국가 코드 0으로 잘 작동하는 것 같습니다.
Francis Gagnon

<input type = "text"name = "phone_no"class = "form-control"ng-pattern = "^ \ s * (? : \ +? (\ d {1,3}))? [-. (] * (\ d {3}) [-.)] * (\ d {3}) [-.] * (\ d {4}) (?: * x (\ d +))? \ s * $ "전용 -numbers ng-maxlength = "10"/>
Kondal

@Kondal 죄송합니다. 이 정규식으로 실패하는 일치하려는 텍스트를 의미했습니다.
Francis Gagnon

8

^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

다음 전화 번호와 일치 :

1-718-444-1122
718-444-1122
(718)-444-1122
17184441122
7184441122
718.444.1122
1718.444.1122
1-123-456-7890
1 123-456-7890
1 (123) 456-7890
1 123 456 7890
1.123.456.7890
+91 (123) 456-7890
18005551234
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234
18001234567
1 800 123 4567
1-800-123-4567
+18001234567
+1 800 123 4567
+1 (800) 123 4567
1(800)1234567
+1800 1234567
1.8001234567
1.800.123.4567
+1 (800) 123-4567
18001234567
1 800 123 4567
+1 800 123-4567
+86 800 123 4567
1-800-123-4567
1 (800) 123-4567
(800)123-4567
(800) 123-4567
(800)1234567
800-123-4567
800.123.4567
1231231231
123-1231231
123123-1231
123-123 1231
123 123-1231
123-123-1231
(123)123-1231
(123)123 1231
(123) 123-1231
(123) 123 1231
+99 1234567890
+991234567890
(555) 444-6789
555-444-6789
555.444.6789
555 444 6789
18005551234
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1.800.555.1234
+1.800.555.1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234
(003) 555-1212
(103) 555-1212
(911) 555-1212
18005551234
1 800 555 1234
+86 800-555-1234
1 (800) 555-1234

regex101.com 참조


7

여기 제가 만든 상당히 간결한 것이 있습니다.

Search: \+?1?\s*\(?-*\.*(\d{3})\)?\.*-*\s*(\d{3})\.*-*\s*(\d{4})$

Replace: +1 \($1\) $2-$3

다음 사용 사례에 대해 테스트되었습니다.

18001234567
1 800 123 4567
1-800-123-4567
+18001234567
+1 800 123 4567
+1 (800) 123 4567
1(800)1234567
+1800 1234567
1.8001234567
1.800.123.4567
1--800--123--4567
+1 (800) 123-4567

이것은 (800 444-4444
Jake

6

jsfiddle에서 위에서 언급 한 솔루션을 사용하여 예제를 추가합니다. 클라이언트 요구 사항에 따라 코드를 약간 수정했습니다. 이것이 누군가에게 도움이되기를 바랍니다.

/^\s*(?:\+?(\d{1,3}))?[- (]*(\d{3})[- )]*(\d{3})[- ]*(\d{4})(?: *[x/#]{1}(\d+))?\s*$/

여기에서 예 참조


4

파키스탄 사용자를 위해 이것을 시도하십시오. 여기 내가 만든 상당히 간결한 것이 있습니다.

((\+92)|0)[.\- ]?[0-9][.\- ]?[0-9][.\- ]?[0-9]

다음 사용 사례에 대해 테스트되었습니다.

+92 -345 -123 -4567
+92 333 123 4567
+92 300 123 4567
+92 321 123 -4567
+92 345 - 540 - 5883

4

내가 사용하는 전화 번호 정규식 : /^[+]?(\d{1,2})?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/

커버 :

  • 18001234567
  • 1800123 4567
  • +1800 123-4567
  • +86800123 4567
  • 1-800-123-4567
  • 1 (800) 123-4567
  • (800)123-4567
  • (800) 123-4567
  • (800) 1234567
  • 800-123-4567
  • 800.123.4567

2

1, 3 및 4에 대한 표현식은 매우 유사하므로 다음을 사용할 수 있습니다.

^([1-9]\d{2})([- .])(\d{3})$2(\d{4})$

사용되는 정규식의 언어 및 브랜드에 따라 \2대신 넣어야 할 수도 있고 $2, 그러한 일치가 전혀 지원되지 않을 수도 있습니다.

^(regex for 1,3,4|regex for 2)$추악하고 서투 르며 숫자의 일부를 꺼내기 어렵게 만드는 명백한 것 외에는 이것을 형식 2와 결합하는 좋은 방법이 없습니다 .

지역 번호 (\+\d)?는 처음에 추가 하여 한 자리 지역 번호를 캡처 할 수 있습니다 (죄송합니다. 지역 번호 형식을 모르겠습니다).


2

이건 어때요?

^(\+?[01])?[-.\s]?\(?[1-9]\d{2}\)?[-.\s]?\d{3}[-.\s]?\d{4}

편집 : 나는 () 하나에 대해 잊었다. 편집 2 : 처음 3 자리 부분이 잘못되었습니다.


.문자 클래스에서는 점을 이스케이프 할 필요가 없으므로 [-\.\s]실제로이어야 [-.\s]합니다. 백 슬래시와 일치하고 싶지 않기 때문입니다.
Vedran Šego

실제로 백 슬래시와 일치합니까? 필요하지 않을 수도 있다고 생각했지만 100 % 확신하지는 못했습니다.
crimson_penguin

당신이 옳습니다. 난 그냥 (내가 전에 백 슬래시를 필요로하지 않는다) 그것을 시도 [\.]하고 [.]있는 동안, 두 경기 만 점 [\\.]일치하는 점과 백 슬래시 모두. 귀하의 의견에 감사드립니다.
Vedran Šego

정규식에 대한 내 의견은 정규식을 누군가에게 제공하는 경우 항상 설명과 함께 제공하지 않으면 정규식이 쓸모가 없다는 것입니다. 제 의견입니다.
John Red

2

@Ravi의 답변으로 시작 하여 NPA (Area) Code에 대한 몇 가지 유효성 검사 규칙 도 적용했습니다 .

특히:

  • 2 (또는 그 이상)로 시작해야합니다.
  • 두 번째 및 세 번째 숫자 (N11)로 "11"을 사용할 수 없습니다.

예약 된 블록 (N9X, 37X, 96X) 및 555를 포함하여 몇 가지 다른 제한 사항이 있지만 특히 예약 된 블록이 나중에 사용될 수 있고 555가 테스트에 유용하기 때문에 이러한 제한을 생략했습니다.

이것이 내가 생각 해낸 것입니다.

^((\+\d{1,2}|1)[\s.-]?)?\(?[2-9](?!11)\d{2}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

또는 빈 값도 일치시키려는 경우 (필드가 필요하지 않은 경우) 다음을 사용할 수 있습니다.

(^((\+\d{1,2}|1)[\s.-]?)?\(?[2-9](?!11)\d{2}\)?[\s.-]?\d{3}[\s.-]?\d{4}$|^$)

유효한 숫자에 대한 내 테스트 케이스 (@Francis의 답변에서 대부분)는 다음과 같습니다.

18005551234
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1.800.555.1234
+1.800.555.1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234

내 잘못된 테스트 사례는 다음과 같습니다.

(003) 555-1212     // Area code starts with 0
(103) 555-1212     // Area code starts with 1
(911) 555-1212     // Area code ends with 11
180055512345       // Too many digits
1 800 5555 1234    // Prefix code too long
+1 800 555x1234    // Invalid delimiter
+867 800 555 1234  // Country code too long
1-800-555-1234p    // Invalid character
1 (800)  555-1234  // Too many spaces
800x555x1234       // Invalid delimiter
86 800 555 1212    // Non-NA country code doesn't have +

내 정규식에는 숫자 그룹을 추출하기위한 그룹화가 포함되어 있지 않지만이를 포함하도록 수정할 수 있습니다.


2

아마도 다른 몇 가지와 비교할 때 가장 쉬운 방법 일 것입니다.

\(?\d+\)?[-.\s]?\d+[-.\s]?\d+

다음과 일치합니다.

(555) 444-6789

555-444-6789

555.444.6789

555444 6789


딱 하나 ... 감사 (Y)
수실 샤르마

2

이 코드는 미국 또는 캐나다 전화 번호와 일치하며 유효한 지역 코드 및 교환 번호인지 확인합니다.

^((\+1)?[\s-]?)?\(?[2-9]\d\d\)?[\s-]?[2-9]\d\d[\s-]?\d\d\d\d

Regex101.com에서 테스트


2

정규 10 자리 전화 번호선택적 국제 코드 (1 ~ 3 자리) 및 선택적 내선 번호 (모든 숫자) 를 확인하는 정규식 패턴 :

/(\+\d{1,3}\s?)?((\(\d{3}\)\s?)|(\d{3})(\s|-?))(\d{3}(\s|-?))(\d{4})(\s?(([E|e]xt[:|.|]?)|x|X)(\s?\d+))?/g

데모 : https://www.regextester.com/103299

유효한 항목 :

/* Full number */
+999 (999) 999-9999 Ext. 99999

/* Regular local phone number (XXX) XXX-XXXX */
1231231231
123-1231231
123123-1231
123-123 1231
123 123-1231
123-123-1231
(123)123-1231
(123)123 1231
(123) 123-1231
(123) 123 1231

/* International codes +XXX (XXX) XXX-XXXX */
+99 1234567890
+991234567890

/* Extensions (XXX) XXX-XXXX Ext. XXX... */
1234567890 Ext 1123123
1234567890Ext 1123123
1234567890 Ext1123123
1234567890Ext1123123

1234567890 Ext: 1123123
1234567890Ext: 1123123
1234567890 Ext:1123123
1234567890Ext:1123123

1234567890 Ext. 1123123
1234567890Ext. 1123123
1234567890 Ext.1123123
1234567890Ext.1123123

1234567890 ext 1123123
1234567890ext 1123123
1234567890 ext1123123
1234567890ext1123123

1234567890 ext: 1123123
1234567890ext: 1123123
1234567890 ext:1123123
1234567890ext:1123123

1234567890 X 1123123
1234567890X1123123
1234567890X 1123123
1234567890 X1123123
1234567890 x 1123123
1234567890x1123123
1234567890 x1123123
1234567890x 1123123

1

이 정규식은 10 자리 연락처 번호에 가장 유용합니다.

^(?:(?:\+|0{0,2})91(\s*[\-]\s*)?|[0]?)?[789]\d{9}$

참조 : https://regex101.com/r/QeQewP/1

설명:

여기에 이미지 설명 입력


그 설명을 생성하기 위해 도구를 사용 했습니까? 공유하세요! 감사합니다
알 수 없음

@unnknown regex101.com과 같은 온라인 정규식 검사기의 스크린 샷처럼 보입니다. SO 지침에 따르면 모든 텍스트, 코드, 데이터 및 오류 메시지는 이미지가 아닌 텍스트 형식으로 입력해야합니다. 이미지의 텍스트는 특히 모바일 장치에서 읽기 어려울 수 있고 더 큰 대역폭을 발생시키기 때문입니다. 또한 텍스트를 복사하여 붙여 넣을 수 없습니다. 이 경우 색상이 확실하지 않은 것을 추가 할 수 있습니다. 일반적으로 "Answers"에는 텍스트 설명이 포함되어야합니다. Amitesh : 방문자가 실험 할 수 있도록 이미 정규식이 채워진이 사이트에 대한 링크를 포함하는 것이 유용 할 것입니다.
SherylHohman

여기 @unnknown은이 게시물의 이미지와 유사한 이미지를 생성하는 링크입니다. Amitesh의 정규식 문자열이 이미 붙여 넣어졌습니다. 전화 번호를 입력하여 결과를 테스트 할 수 있습니다. regex101.com/r/QeQewP/1
SherylHohman


0

이것은 내가 생각할 수있는 한 많이 일치 할뿐만 아니라 국가, 지역, 첫 번째 및 마지막에 대한 그룹 일치를 제공하는보다 포괄적 인 버전입니다.

(?<number>(\+?(?<country>(\d{1,3}))(\s|-|\.)?)?(\(?(?<region>(\d{3}))\)?(\s|-|\.)?)((?<first>(\d{3}))(\s|-|\.)?)((?<last>(\d{4}))))

0

"+"로 여러 숫자를 ";"로 구분하면 어떨까요? "," "-"또는 ""문자?


0

나는 결국

const regexBase = '(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})?[-. )]*(\\d{3})[-. ]*(\\d{4,5})(?: *x(\\d+))?'; const phoneRegex = new RegExp('\\s*' + regexBase + '\\s*', 'g');

이것은 네덜란드 숫자와 같은 것을 허용하기위한 것이 었습니다.

+358300 20200


0

위의 정규식은 @Francis Gagnon.

목표 : 가능한 패턴을 감지하기 위해 사용자는 미국 전화 번호를 공유 할 수 있습니다.


버전 1 :

^\s*(?:\+?(\d{1,3}))?[\W\D\s]*(\d[\W\D\s]*?\d[\D\W\s]*?\d)[\W\D\s]*(\d[\W\D\s]*?\d[\D\W\s]*?\d)[\W\D\s]*(\d[\W\D\s]*?\d[\D\W\s]*?\d[\W\D\s]*?\d)(?: *x(\d+))?\s*$

여기 Codepen에서 테스트하십시오 : https://codepen.io/kiranbhattarai/pen/NWKMXQO

정규식 설명 : https://regexr.com/4kt5j


버전 2 :

\s*(?:\+?(\d{1,3}))?[\W\D\s]^|()*(\d[\W\D\s]*?\d[\D\W\s]*?\d)[\W\D\s]*(\d[\W\D\s]*?\d[\D\W\s]*?\d)[\W\D\s]*(\d[\W\D\s]*?\d[\D\W\s]*?\d[\W\D\s]*?\d)(?: *x(\d+))?\s*$

내용 : 테스트 케이스는 문자열의 일부가 될 수 있습니다. 버전 1에서 테스트 케이스는 작동 할 줄의 시작이어야합니다.

Codepen : https://codepen.io/kiranbhattarai/pen/GRKGNGG

정규식 설명 : https://regexr.com/4kt9n


실패 할 수있는 패턴을 찾을 수 있다면 댓글을 달아주세요. 수정하겠습니다.

테스트 케이스 : 합격

8 0   0  4  4  4  5   55 5
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234
800 555 1234x5678
8005551234 x5678
1    800    555-1234
1----800----555-1234
800 (555) 1234
800(555)1234
8 0 0 5 5 5 1 2 3 4
8.0.0.5.5.5.1.2.3.4
8-0-0-5-5-5-1-2-3-4
(8)005551234
(80)05551234
8(00)5551234
8@0@0@5551234
8/0/0/5/5/5/1/2/3/4
8*0*0*5*5*5*1*2*3*4
8:0:0:5:5:5:1:2:3:4
8,0,0,5,5,5,1,2,3,4
800,555,1234
800:555:1234
1-718-444-1122
718-444-1122
(718)-444-1122
17184441122
7184441122
718.444.1122
1718.444.1122
1-123-456-7890
1 123-456-7890
1 (123) 456-7890
1 123 456 7890
1.123.456.7890
+91 (123) 456-7890
18005551234
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234
18001234567
1 800 123 4567
1-800-123-4567
+18001234567
+1 800 123 4567
+1 (800) 123 4567
1(800)1234567
+1800 1234567
1.8001234567
1.800.123.4567
+1 (800) 123-4567
18001234567
1 800 123 4567
+1 800 123-4567
+86 800 123 4567
1-800-123-4567
1 (800) 123-4567
(800)123-4567
(800) 123-4567
(800)1234567
800-123-4567
800.123.4567
1231231231
123-1231231
123123-1231
123-123 1231
123 123-1231
123-123-1231
(123)123-1231
(123) 123-1231
(123) 123 1231
+99 1234567890
+991234567890
(555) 444-6789
555-444-6789
555.444.6789
555 444 6789
1 800 555 1234
+1 800 555-1234
+86 800 555 1234
1-800-555-1234
1.800.555.1234
+1.800.555.1234
1 (800) 555-1234
(800)555-1234
(800) 555-1234
(800)5551234
800-555-1234
800.555.1234
(003) 555-1212
(103) 555-1212
(911) 555-1212
18005551234
1 800 555 1234
+86 800-555-1234
1 (800) 555-1234

+86, +99 등은 확실히 미국 전화 번호가 아닙니다. 다른 테스트 사례 중 일부는 다른 이유로 모호해 보입니다.
tripleee 19 년

@tripleee가 그것을 고칠 수있게 해주었습니다. 나는 그것이 작동하기를 바랍니다. 또한 중복 테스트 케이스도 제거했습니다
Kiran Bhattarai

0

나는 내 문제를 해결하기 때문에이 답변을 던지고 있습니다. @ stormy의 답변을 기반으로하지만 3 자리 국가 코드를 포함하고 더 중요한 것은 문자열의 어느 곳에서나 사용할 수 있지만 일치하지 않습니다. 공백 / 문자열의 시작과 단어 경계로 끝납니다. 이것은 URL 중간에있는 임의의 숫자와 일치하지 않도록 유용합니다.

((?:\s|^)(?:\+\d{1,3}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4})(?:\b)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.