2016-07-28 14 views
0

Ich muss eine Telefonnummer, die Format sein kann. aber es sollte keine aufeinander folgenden Bindestriche, Klammern und + Zeichen erlauben. Außerdem sollten keine Sonderzeichen und Alphabete erlaubt sein. Ich bin nicht so gut in Regex.Regex in Javascript - sollte nicht aufeinanderfolgende Klammern, aufeinanderfolgende + Zeichen und aufeinander folgenden -zeichen

erlaubt sein:
Single -, (,),(), + und Räume.

Ich habe versucht, mit den folgenden regex
(-?) (?!. * -) (([0-9 -,(), +] {0,25}))

dadurch bin ich in der Lage, aufeinanderfolgende Bindestriche zu beschränken.

Kann mir jemand helfen?

zB:

+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

keine, die nicht gültig hallo –

Antwort

1

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

  • Beginn der Zeichenfolge
    • Beides:
    • Sonderzeichen, nicht sofort nach dem gleichen Zeichen gefolgt
    • A Nummer
    • (* so oft wiederholen, wie erforderlich)
  • Ende der Schnur
0

Sie folgende verwenden:

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

ist, die ich getestet habe mit http://regexstorm.net/tester regex tester, es wählt die aufeinander folgenden + Zeichen auch –

+0

@shanthi_karthika Was ist die Eingabe, die Sie zum Testen verwendet haben? –

+0

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