A
asroger
Gast
Hallo zusammen !
Ich muss eine Vordrucknummer auf folgenden Formalismus prüfen:
Feld mit 1 - 7 Stellen als "Kann-Feld"
wenn jedoch eine Eingabe erfolgt dann
Stelle 1 - 5 = numerisch und falls vorhanden
Stelle 6 - 7 = alphanumerisch
Ich prüfe also wenn Eingabe erfolgte:
Nun meine Frage :
Kann ich das ganze schon während der Eingabe prüfen
Doch wie müsste dann die RegExp aussehen ??
Während der Eingabe soll z. B. 123 als bis dahin zulässig erkannt
und 1A abgewiesen werden.
Danke
asroger
Ich muss eine Vordrucknummer auf folgenden Formalismus prüfen:
Feld mit 1 - 7 Stellen als "Kann-Feld"
wenn jedoch eine Eingabe erfolgt dann
Stelle 1 - 5 = numerisch und falls vorhanden
Stelle 6 - 7 = alphanumerisch
Ich prüfe also wenn Eingabe erfolgte:
Code:
Pattern.compile("[0-9]{5}[a-zA-Z]{0,2}").matcher(eingabe).matches()
Kann ich das ganze schon während der Eingabe prüfen
Code:
public class MeinDocument extends PlainDocument {
private Pattern patt = null;
private Matcher matcher = null;
String test = null;
public BKNDocument(String lRegExp) {
patt = Pattern.compile(lRegExp);
}
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
test = super.getText(0,super.getLength()) + str;
matcher = patt.matcher(test);
if (matcher.matches())
super.insertString(offs, str, a);
else
BknPopups.meldung("Eingabe war nicht zulässig und wurde entfernt !");
}
}
Doch wie müsste dann die RegExp aussehen ??
Während der Eingabe soll z. B. 123 als bis dahin zulässig erkannt
und 1A abgewiesen werden.
Danke
asroger