it-swarm.com.de

HTML-Muster - Regex funktioniert nicht

Ich versuche das Musterattribut zum ersten Mal und kann es nicht zum Laufen bringen (mein Browser unterstützt es jedoch).

Gerade habe ich:

input type="text" pattern="[a-zA-Z0-9]{6}" name="formName"

Das erste Problem ist, dass ich nicht benachrichtigt werde, wenn es leer ist. Das zweite Problem ist, dass wenn ich etwas eintippe, es es nicht akzeptiert. Ich möchte, dass es alphanumerische Zeichen akzeptiert und genau 6 Zeichen lang ist. Ich habe es mit Schrägstrichen und einigen anderen Variationen versucht.

7
John Smith

Wie Duikboot bereits betont hat, ist der richtige Weg, dies zu tun:

<input type="text" name="formField" pattern="[a-zA-Z0-9]{6}" required>

Das Attribut required führt dazu, dass die Validierung fehlschlägt, wenn das Feld leer ist.
Das Attribut pattern definiert die Regex, mit der getestet werden soll, wenn das Feld nicht leer ist.
(Ihr anfängliches Muster scheint gut zu funktionieren.)

Weitere Informationen finden Siehier.
Dies ist einfach genug, um keine Demo zu benötigen, aber Sie können trotzdem eine findenhier.

10
gkalpak

Funktioniert für mich hier: http://jsfiddle.net/barbuslex/nR6yg/

<form>
    <input type="text" pattern="[a-zA-Z0-9]{6}" name="formName" />
    <input type="submit" value="OK" />
</form>

Ich benutze Google Chrome

2
barbuslex

Probieren Sie diesen Code, er funktioniert perfekt

<html>
<body>    
<form action="demo_form.asp">
  Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
  <input type="submit">
</form>    
</body>
</html>

Geben Sie einen ungültigen Ländercode ein und klicken Sie auf "Senden". Dann können Sie eine Nachricht erhalten (title = "Three letter country code")

0
Golda

Sie müssen lediglich das erforderliche Attribut zu Ihrem Tag hinzufügen, wodurch der Benutzer benachrichtigt wird, wenn er versucht, das Formular mit genau diesem leeren Feld zu senden.

<input type="text" pattern="[a-zA-z0-9]{6}" name="formName" required>
0
c4po