2016-07-28 111 views
0

我需要驗證電話號碼它可以是任何格式。但它不應該允許連續的連字符,括號和+符號。此外,不應允許使用特殊字符和字母。我在正則表達式方面並不擅長。在javascript正則表達式 - 不應該允許連續的括號,連續的+符號和連續的標誌

允許將爲:
單 - ,(,),(),+和空格。

我曾嘗試用以下的正則表達式
( - !)(?!。* - )(([0-9 - ,(),+] {0,25}))

通過這我能夠限制連續的連字符。

任何人都可以幫忙嗎?

如:

+765766-8776(090) --> valid format 
7-(98665    --> valid 
123456789098880998 --> valid 
85786 87787   --> valid 
+165667687777878(989)--> valid 
+1 97877-88888 (090) --> valid 

----()90    --> Invalid as consecutive hyphens 
ffgffgtgf98-   --> invalid as characters are there 
#$%%5    --> invalid as special characters are there 
+++++++++898988++++++++76768 -->invalid as consecutive plus sign 
989(((090))))    -->invalid as consecutive parenthesis 
+0

沒有無效 –

回答

1

/^(?:(?:([-()+ ])(?!\1))|\d)+$/

  • 字符串的開始
    • 無論是哪種:
    • 特殊字符,沒有緊跟相同的字符
    • 一號碼
    • (*根據需要重複多次)
  • 結束串的
0

您可以使用以下方法:

^(?!.*(?:([()+-]){2}))[0-9()+\s-]{0,25}$ 
+0

嗨,我已經測試使用http://regexstorm.net/tester正則表達式測試程序,它正在選擇連續的+符號 –

+0

@shanthi_karthika用於測試的輸入是什麼? –

+0

+++++++++ 898988 ++++++++ 76768 and 989(((090)))and ----()90 –