Die Funktion von JS regelmäßig prüft, ob die Eingabe eine URL ist, ist auch auf Webseiten sehr häufig. Verwenden Sie beim Ausfüllen persönlicher Homepages mit freundlichen Links und Formularen JavaScript, um zu überprüfen, ob es sich um eine URL handelt.
Dieser Test ist nicht einfach zu schreiben, daher ist es besser, reguläre Ausdrücke zur Authentifizierung zu verwenden.
Es wird festgelegt, dass der Eingang nur mit http: // und https: // beginnen und eine URL sein muss.
Einige Leute sagen, warum können Webseiten nicht wie www.1.com funktionieren?
Dies soll die Tatsache vermeiden, dass bei der Verwendung der Benutzereingabe, wenn Sie einen Hyperlink konstruieren. Wenn das HREF -Attribut in der A -Tag nicht auf etwas http: // oder https: // begegnet wird, wird sie als Stammverzeichnis angesehen und schreibt diese Adresse hinter der URL Ihrer Website und springt dann. Jeder sollte das wissen. Wenn beispielsweise <a href = "www.1.com"> xxx </a> ist, ist meine URL http: // localhost. Nachdem Sie auf das als XXX angezeigte Tag geklickt haben, springen Sie einfach zum Ort http: //localhost/www.1.com, natürlich ist es falsch.
In dem folgenden Textfeld verwenden Sie beispielsweise regelmäßige Ausdrücke, um Benutzer die URL zu verlangen, beginnend mit http: // und https: //?
1. Zunächst einmal ist es ein einfaches Layout, unnötig zu sagen:
<! DocType html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transsitional.dtd"><Htmlmlml xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <title> unauftitelte dokument </title> </hace> </head> </head> </body> Die URL-Muss mit HTTP. Eine url^_^! <BR/> <Eingabe type = "text" id = "url"/> <button onclick = "checkUrl ()"> bestätigen </button> </body> </html>
2. Das zweite ist das Skript, es ist eigentlich keine Notwendigkeit, es zu sagen. Der Schlüssel ist der reguläre Ausdruck:
<Script> Funktion checkUrl () {var url = document.getElementById ("url"). Wert; var reg =/^([hh] [tt] {2} [pp]: //// | [hh] [tt] {2} [pp] [ss]: ////) (([a-za-za-z0-9- ~]+)+([a-za-z0-9- ~ //])+$/; if (! reg.test (url)) {alert ("Diese URL beginnt nicht mit http: // https: // oder ist keine URL!"); } else {alert ("Eingabe erfolgreich"); }} </script>In: var reg =/^([hh] [tt] {2} [pp]: /// | [hh] [tt] {2} [pp] [ss]: /////) (([a-za-z0-9- ~]+)/.)+([A-za-z0- ~ //])+$/;
1. In JavaScript muss der reguläre Ausdruck in zwei Schrägstrichen geschrieben werden, da alle Variablen var sind, und dann müssen die Schrägstriche/im regulären Ausdruck als // geschrieben werden
2. ^ ^ bedeutet, dass es mit ..., [] eine Testeinheit bedeutet, dh etwas, das ein bestimmter Charakter aufnehmen kann. Zum Beispiel ^([hh] [tt] {2} [pp]: //// | [hh] [tt] {2} [pp] [ss]: ////), was bedeutet, dass es mit http: // oder https: // beginnt. | Ja, das erste Zeichen ist H oder H, die zweite und dritte Zeichen sind [tt], {2} bedeutet, dass die Einbeziehung dieses Zeichens und des 1 -Zeichens, nachdem es [tt] sein muss, und so weiter
3. ([a-za-z0-9- ~]+) bedeutet, dass die Einbeziehung dieses Zeichens und seiner nachfolgenden Zeichen Großbuchstaben, Kleinbuchstaben, Zahlen, minus Zeichen-oder ~ sein muss
Charakter + bedeutet: Übereinstimmung mit den Zeichen vor dem + Zeichen 1 oder n mal: /a + /match 'a' in "Candy" und allen 'a' in "caaaaaaAndy".
4. Daher (([a-za-z0-9- ~]+)/.)+ Bedeutet xxx. Dieses Ding, das mit einem Punkt endet, muss mindestens einmal vor dem Charakter erscheinen ([A-Za-Z0-9- ~ //])+$.
5. $ bedeutet, dass es mit Großbuchstaben, Kleinbuchstaben, Zahlen, abzüglich Schildern enden muss -, ~, /
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.