Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Frage zu HTML5 Attribute für Formularfelder
Frage zu HTML5 Attribute für Formularfelder
eMac Extreme
14.03.13
13:52
Ich erstelle gerade ein Kontaktformular, bei dem ich die Eingabe nach bestimmten Mustern überprüfen möchte.
<li>
<label for="phone">Telefon:</label>
<input type="tel" name="phone" placeholder="+12(1)123-123456" required pattern="[\+]\d{2}[\(]\d{1}[\)]\d{3}[\-]\d{6}" />
<span class="form_hint">"+12(1)123-123456"</span>
</li>
Die Auswertung funktioniert auch soweit, nur ist die Eingabe der Telefonnummern sehr begrenzt.
Ich möchte die Varianten an Telefonnummern gerne variabler gestalten. Sprich nicht nur eine Möglichkeit (z.B.: "+12(1)123-123456") zulassen, sondern Mehrere.
Ich hatte gedacht, dass ich anstatt einer fixen Stellenangabe ( \d{6} für 6 Stellen ) einen Stellenbereich ( \d{1-10} ) angebe. Leider funktioniert dies nicht. Der Browser gibt dann kein "valid" bei der Überprüfung der Eingabe zurück.
Wisst ihr, wie ich diesen Stellenbereich angeben kann?
Beispiel:
+49(0)123-123456
"+2Stellen(1Stelle)3Stellen-6Stellen"
so ist es jetzt im Code angegeben!
Ich hätte aber gern im Code folgendes stehen:
"+1 bis 2 Stellen (1Stelle) 2 bis 3 Stellen - 1 bis 8 Stellen" (Leerzeichen sind nur für bessere Lesbarkeit), so dass ich folgendes als Valid ausgewertet bekomme.
+49(0)1-1
+49(0)1-12345678
+49(0)12-1
+49(0)12-12345678
+49(0)123-1
+49(0)123-12345678
+1(0)1-1
+49(0)1-12345678
+1(0)12-1
+49(0)12-12345678
+1(0)123-1
+49(0)123-12345678
Was ich schon rausgefunden habe ist, dass ich jede Variante angeben kann und durch ein "|" (or) im Pattern-Attribut verknüpfen kann.
<li>
<label for="phone">Telefon:</label>
<input type="tel" name="phone" placeholder="+12(1)123-123456" required pattern="[\+]\d{1}[\(]\d{1}[\)]\d{3}[\-]\d{6}" | [\+]\d{2}[\(]\d{1}[\)]\d{3}[\-]\d{6} />
<span class="form_hint">"+12(1)123-123456"</span>
</li>
Das wäre allerdings viel Schreibarbeit und nicht besonders schön!
Kann mir evtl. jemand von euch einen Tipp geben, oder einen Link zu einer Dokumentation über solche Verknüpfungen und Bereichsdefinitionen? Ich wäre euch sehr dankbar!
Hilfreich?
0
Kommentare
Charriu
14.03.13
14:05
Hi,
Versuch es mal mit
d{1,10}
Hilfreich?
0
eMac Extreme
14.03.13
14:05
das ist doch echt verrückt! Kaum hab ich diesen Thread eröffnet und Suche weiter nach Lösungen, da stolpere ich prompt über die Lösung.
Die Lösung liegt in der Schreibweise! Hatte ich angenommen, dass ein Stellenbereich durch ein Trennstrich angegeben wird, wird er jedoch durch ein Komma angegeben.
Also wird aus \d{1-10}
\d{1,10}
Somit sind 1 bis 10 Stellen in dem angegebenen Bereich möglich und werden als Valid ausgewertet.
Hilfreich?
0
eMac Extreme
14.03.13
14:06
Charriu
Vielen Dank! Bin gerade dann selbst schon drüber gestolpert.
Hilfreich?
0
Charriu
14.03.13
14:06
Ich schau bei regulären Ausdrücken immer gerne hier vorbei:
Hilfreich?
0
eMac Extreme
14.03.13
14:09
Vielen Dank für den Link, sowas habe ich schon lange gesucht!
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Vor 18 Jahren: iPhone, Apple TV und "Apple Inc."
Test Marantz Model 60n
iPhone SE 4: Dummy-Modelle zeigen das Design
Tim Cooks Jahresgehalt – und die Vergütung der ...
Mac OS X: 25 Jahre Aqua, 25 Jahre Dock
Kurz: Trump unterstützt Musk als TikTok-Besitze...
Verwunderung über Upgrade-Preise: Zwei Mac Mini...
Kurztest MacBook Pro M4