[GastForen Programmierung/Entwicklung JavaScript Eingabeprüfung vierstellige Ziffer

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Eingabeprüfung vierstellige Ziffer

MarioF
Beiträge gesamt: 391

3. Jan 2020, 23:24
Beitrag # 1 von 3
Bewertung:
(12334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich möchte ein Feld überprüfen, ob er mit 4 Ziffern gefüllt ist.
Code
var input = _testEdit.text.search(/d+/); 
var inputLength = _testEdit.text.length;

if(inputLength != 4 && input != -1){
alert('Eingabe falsch');
exit(0);
}


Bei 5 oder mehr Buchstaben gibt er eine Meldung aus. Wie bekomme ich die Abfrage hin?
X

Eingabeprüfung vierstellige Ziffer

mkktbkkt
Beiträge gesamt: 1

7. Jan 2020, 10:39
Beitrag # 2 von 3
Beitrag ID: #573486
Bewertung:
(12233 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,

hier gibt es ein paar Sachen die Du korrigieren müsstest:

Code
var input = _testEdit.text.search(/d+/); 



Das "d" sucht hier nicht nach Ziffern, sondern nach dem Buchstaben "d" - für die Suche nach Ziffern fehlt ein Backslash davor - also etwa so:
Code
var input = _testEdit.text.search(/\d+/); 





Code
if(inputLength != 4 && input != -1){ 



Du prüfst, ob die Länge der Eingabe nicht 4 ist und ob dein Regex-Pattern in der Eingabe gefunden wurde - nur wenn beides zutrifft, gibst du den Fehler aus.
Wenn also zum Beispiel die Eingabe nicht mit deinem Regex-Pattern, übereinstimmt, wird nie ein Fehler ausgegeben (da beide Bediungungen für die Fehlermeldung vorausgesetzt werden)

Ich würde hier - wenn du schon Regex einsetzt - gleich das ganze damit prüfen, dies kannst Du folgendermassen umsetzen:
  • mit einem "^" am Anfang des Patterns sagst Du, dass das gesuchte am Anfang des Strings sein muss
  • mit einem "$" am Ende des Patterns sagst Du, dass das gesuchte am Ende des Strings sein muss
  • das "+" sagt dass mindestens eins, maximal unendlich viele Zeichen übereinstimmen müssen - Du kannst hier auch eine konkrete Zahl angeben (da Du ja genau 4 Ziffern willst), indem Du stattdessen "{4}" angibst.

Da du so alle Bedingungen (nur Ziffern, exakt 4 Zeichen) über Regex prüfen kannst, müsstest Du dann nur noch prüfen, ob es auch einen Treffer gab - das würde dann also schlussendlich etwa so aussehen:
Code
var input = _testEdit.text.search(/^\d{4}$/);   

if(input === -1){
alert('Eingabe falsch');
exit(0);
}




Gruss
Stefan


als Antwort auf: [#573458]

Eingabeprüfung vierstellige Ziffer

MarioF
Beiträge gesamt: 391

8. Jan 2020, 22:25
Beitrag # 3 von 3
Beitrag ID: #573504
Bewertung:
(12170 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,
danke für ausführliche Info. Ich werde es mir mal in Ruhe anschauen.


als Antwort auf: [#573486]

Aktuell

PDF / Print
enfocus_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!