2013-06-04 45 views
1

我要爲我的電話號碼驗證正則表達式模式。正則表達式

它允許數字+()-

的限制有:

  • +需求是在輸出的開始(類似: 「+31(427)-103819」 必須是有效的)
  • +()-不需要
  • 輸出具有以數字
  • 長度上沒有限制是必需的以結束

希望有人可以讓我爲這個正則表達式,我已經看過不同的發電機和結束了這樣的事情:

/^(\\+)*(\\d+)(\\()*(\\d+)(\\))*(-)*(\\d+)$/ 

這不會做我想做的。有一些示範是有效的:

  • 103-10381-390101
  • (0358)-103810381
  • (1038)1038103
  • 1081(1081)-193810
  • 1903(3913)193810
+0

您正在使用哪種RegEx語言?例如Vim的正則表達式與Perl的不同.. – cgledezma

+0

http://regexr.com?353qd –

+0

可能的重複的[一個綜合的正則表達式的電話號碼驗證](http://stackoverflow.com/questions/123559/a-comprehensive -regex-for-phone-number-validation) – Toto

回答

1

的東西很容易這樣的嗎?

/^\+?[0-9-()]+$/ 
+0

認爲這是最簡單的。它涵蓋了我所有的可能性。非常感謝! – Haidy

1

http://gskinner.com/RegExr/剛剛粘貼的例子,然後(在列表中只是雙擊每個項目,直到它符合所有的例子)搜索現有的Community。 發現這是:

^([().-\s0-9+]{2,}(?:(?::|x)[\s]*(?=(?:\d{1,4}))\d{1,4}[\s]*)?)$ 

鏈接:http://gskinner.com/RegExr/?353qd

,我建議你,當你想找到suchpresumably流行模式爲電話號碼或電子郵件地址的正則表達式使用這類工具。

+0

感謝您的提示! – Haidy