2012-02-26 6 views
1
내가 정확히 다음과 같은 형식과 일치하기 위해 노력하고있어

의 형식 :정규식 전화 없음 필리핀

+639201112222 
    09201112222 

을이 모든 필자는 지금까지 시도입니다 :

(\+63|0)?\d{10} 

문제가 2920111222 일치한다는 것입니다 29201112222. 아래의 형식과 만 일치하는 패턴을 만들려면 어떻게해야합니까?

+63XXXXXXXXXX 
    0XXXXXXXXXX 

+63 or 0 플러스 10 digit number

X 모든 자리 0-9 어디에서.

감사합니다.

답변

2

당신은하고 싶지 :

((\+63)|0)\d{10} 
+0

그것은 작동합니다! 고맙습니다. 선생님 왜'+ 63'은 괄호로 묶이고'?'는 제거 되었습니까? – SkyDrive

+0

63 | 0은 6 또는 3 또는 0을 나타 내기 때문에 –

+0

@DerekFloss이고 물음표는 선택 사항 이전의 부분을 만듭니다. 이는 원하지 않는 부분입니다. – Arjan

2

다양한 전화 번호 조합을위한 정규식 (단지 신속하게이를 위해 rubular.com 사용) :

/(^0|[89]\d{2}-\d{3}\-?\d{4}$)|(^0|[89]\d{2}\d{3}\d{4}$)|(^63[89]\d{2}-\d{3}-\d{4}$)|(^63[89]\d{2}\d{3}\d{4}$)|(^[+]63[89]\d{2}\d{3}\d{4}$)|(^[+]63[89]\d{2}-\d{3}-\d{4}$)/ 

의 유효성을 검사 :

0917-411-1111 
0917-4111111 
917-411-1111 
9174111111 
+63917-411-1111 
63917-894-3454 
639172342345 
+639174111111 

해결책은 다음과 같습니다. http://jsfiddle.net/kZMRx/