2013-05-04 6 views
0

국가 코드, 지역 번호 및 전화 번호가 포함 된 전화 번호에 정규식이 필요합니다. 전화 번호 형식은 001-253-3478887 또는 90-312-4900203과 같아야합니다. 시도해 보았지만 작동하지 않습니다. 올바른 형식은 무엇입니까? 전화 번호 정보는 어떻게 얻을 수 있습니까?전화 번호 정규식

(\(\d{3}-))?\d{3}-\d{4} 
+0

분명히 숫자 형식은 국가 코드에 따라 다릅니다. 그렇지 않다면 포맷 저장에 왜 귀찮을까요? 왜 숫자를 저장 한 다음 프리젠 테이션 레이어에 포맷하는 것이 좋을까요? – eggyal

+0

다른 국가 코드가 있습니까? 일부 국가 코드는 1 또는 4 자리 숫자이므로 1-253-3478887 또는 1-001-253-3478887과 같은 숫자가있을 수 있습니다. 또한 왜 선행 0이 있지만 다른 것은 저장하지 않습니까? 즉, 국가 코드는 어떻게 형식이 지정됩니까? –

+0

모든 나라가 될 수 있습니다. 나는 모든 사람에게 맞는 정규식을 확인하고 쓰는 법을 모른다. – user2325116

답변

1
^((\d-\d{3})|(\d{1,3}))\-\d{3}-\d{7}$ 
,

이 정규식은 모든 국가 코드와 일치합니다. 국가 코드 1과 1-684는 다른 답안에서 유효하지 않습니다. 1-42와 같은 국가 코드는 허용되지 않습니다. 국가 코드에 구분 기호가 있어야하는 곳이 네 자리 일 때만 있어야하기 때문입니다. 구분 기호없이 4 자리 국가 코드를 가져 오는 경우 다음을 대신 사용하십시오.

^((\d{4})|(\d{1,3}))\-\d{3}-\d{7}$ 
+0

완벽하게 작동합니다. :)) – user2325116

2

이 당신이 준 두 예제를 기반으로 작동합니다

^\d{2,3}\-\d{3}-\d{7}$ 
+0

영국 전화 번호 하나와 일치하지 않는 부끄러운 일. – eggyal

+0

@eggyal 내 대답은 주어진 예를 기반으로합니다, 전화 번호의 조합이 너무 많습니다. 나는 그것을 어떻게 모두 아는가? 어쩌면 OP는 그 질문에 대해 구체적이어야합니다. –

0

이를 확인하실 수 있습니다 :

((\d{2,3}-))\d{3}-\d{7} 
+0

@JW 웃 - 정규 표현식을 업데이트했습니다. 귀하의 의견을 보내 주셔서 감사합니다. –