2012-02-26 12 views
1
私は正確に次のような形式と一致するようにしようとしている

でフォーマット:正規表現の電話番号のフィリピン

+639201112222 
    09201112222 

をして、このすべてのアイブ氏は、これまで試したです:

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

問題は、それが2920111222と一致していることです29201112222にあります。どのように私は下のフォーマットに一致するパターンを作成できますか?

+63XXXXXXXXXX 
    0XXXXXXXXXX 

+63 or 0プラスX0-9からすべての桁のみ

10 digit number

ありがとうございます。

答えて

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/

関連する問題