2016-05-12 15 views
0

Ich versuche zu validieren, dass eine Zeichenfolge 5 Zeichen lang ist ODER wenn es eine führende Null hat, kann es 6 sein. Ich habe Probleme mit dem OR Teil dieser, bis jetzt meine Regex ist ^(0)[a-zA-Z0-9]{5}$, aber dies ist für eine 0 und dann 5-stellige Nummer, so dass 5-stellige Zahlen ohne Null sind ungültig.Regex für die Validierung nur, wenn die Länge 6 ist

Gibt es eine Regex, die nur für den Fall, dass die Länge 6 ist, nach einer führenden Null sucht?

+1

Vielleicht ''? Warum sagst du * 5 Ziffern *, sondern enthalten Buchstaben zur Zeichenklasse? –

+0

Verwenden Sie '?' unmittelbar nach (0), um es optional zu machen. '0?' Weitere Informationen: http://www.mikesdotnetting.com/article/46/c-regular-expressions-cheat-sheet – meorfi

+0

Hat meine Antwort Ihr Problem gelöst? –

Antwort

8

Stellen der führende 0 optional:

^0?[a-zA-Z0-9]{5}$ 

⬆This 5 Zeichen übereinstimmen (in den Bereichen a zu z, A zu Z und 0-9) verbleit oder nicht, von einem 0.

Wenn Sie suchen 5 oder 6 Ziffern: "^ 0 [0-9] {5} $"

^0?\d{5}$ 
+0

Das entspricht mehr als 5 oder 6 Ziffern. –

+2

@ WiktorStribiżew OP ist nicht klar: * Ich versuche zu validieren, dass eine Zeichenfolge 5 ** Zeichen ist ** lang * –

Verwandte Themen