Dies ist mein regex Code, der mit jQuery Validierung Bibliothek funktioniert:HTML5 Muster regex nicht genehmigt meine [richtig] regex hinter dem „@“ für eine E-Mail-Validierung
return /^(("[\w-\s]+")|([\s\w\+-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{1,66})\.([a-z]{2,6}\s*(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?)$/i
es ein Hinzufügen andere HTML5-Seite ohne die jQuery-Validator führt einen Fehler:
Pattern attribute value /^(("[\w-\s]+")|([\s\w+-]+(?:.[\w-]+))|("[\w-\s]+")([\w-]+(?:.[\w-]+)))(@((?:[\w-]+.)\w[\w-]{1,66}).([a-z]{2,6}\s(?:.[a-z]{2})?)$)|(@[?((25[0-5].|2[0-4][0-9].|1[0-9]{2}.|[0-9]{1,2}.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})]?)$/i is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: //^(("[\w-\s]+")|([\s\w+-]+(?:.[\w-]+))|("[\w-\s]+")([\w-]+(?:.[\w-]+)))(@((?:[\w-]+.)\w[\w-]{1,66}).([a-z]{2,6}\s(?:.[a-z]{2})?)$)|(@[?((25[0-5].|2[0-4][0-9].|1[0-9]{2}.|[0-9]{1,2}.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})]?)$/i/: Invalid character class
Nicht erlaubt:
ein
aa
Kartoffel @
erlauben:
Kartoffel @ g
Dies ist der HTML-Code:
<input type="email" id="email" name="email" placeholder="" required="true" class="input-xlarge" pattern='/^(("[\w-\s]+")|([\s\w\+-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{1,66})\.([a-z]{2,6}\s*(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?)$/i'>
Sie haben den Typ der Eingabe bereits als 'email' angegeben. Keine Notwendigkeit, eine Regex zu bestehen (es wird nicht berücksichtigt). Oder verwende 'type =" text "'. –
Ich würde eine manuelle binäre Suche für das Problem empfehlen. Löschen Sie die Hälfte des regulären Ausdrucks, prüfen Sie, ob der Fehler weiterhin besteht. Jetzt wissen Sie, welche Hälfte das Problem hat. Mach weiter, bis du es entdeckt hast. – smarx
Lesen Sie auch, warum es eine wirklich schlechte Idee ist, einen regulären Ausdruck wie diesen zu verwenden, um zu versuchen, E-Mail-Adressen zu validieren. Ich habe keine Links zur Hand, aber es wurde viel diskutiert. – smarx