es meine folgende regex:Live-Eingabevalidierung von 4-stellige Präfixen mit optional 8 Ziffern am Ende
/^08(17|18|19|31|32|33|38|59|77|78)[0-9]{0,8}$/
wenn ich setzte 08 in Eingabefeld wird Bekanntmachung Fehler zeigt, was ich will, ist, wenn ich Eingang 0817 wird Erfolg zeigen, wenn ich 08 eingäbe, will ich nicht bemerken, dass Fehler angezeigt wird. Vielleicht ist die Lösung zu verwenden nicht erfassen Gruppe in Regex. aber wie geht das?
es ist mein Präfix Validierung, was ich will:
0817, 0818, 0819, 0831, 0832, 0833, 0838, 0859, 0877, 0878
Können Sie uns die gesamte Bandbreite dessen zeigen, was Sie zu erreichen versuchen? Ihr aktueller Regex passt auch nicht zu "0817". –
Ich denke, '08' sollte Teil des Wechsels sein:'/^ (08 | 17 | 18 | 19 | 31 | 32 | 33 | 38 | 59 | 77 | 78) [0-9] {0,8} $/'? Am besten verwenden Sie '/^(08 | 1 [7-9] | 3 [1238] | 59 | 7 [78]) [0-9] {0,8} $ /'. –
Sie sollten diese Frage mit relevanten Fortschritten und Details aktualisieren, anstatt [doppelte Fragen] (http://stackoverflow.com/questions/38740717/prefix-validation-with-regular-expression) zu posten. Jetzt, ich sehe, müssen Sie "08" und dann nur die zweistelligen Stücke aus der Gruppe zulassen. Probiere ['^ 08 (? :(?: 17 | 18 | 19 | 31 | 32 | 33 | 38 | 59 | 77 | 78) [0-9] {0,8})? $'] (Https://regex101.com/r/xC7mT4/3). Oder eine effizientere ['^ 08 (? :(?: 1 [789] | 3 [1-38] | 59 | 7 [78]) [0-9] {0,8})? $'] (Https : //regex101.com/r/xC7mT4/4). Wenn dies so funktioniert, wie Sie es erwarten, hinterlassen Sie bitte einen Kommentar, damit ich eine Antwort mit Erklärungen schreiben kann. –