Fungsi JS secara teratur memeriksa apakah inputnya adalah URL juga sangat umum di halaman web. Saat mengisi beranda pribadi dengan tautan dan formulir yang ramah, gunakan JavaScript untuk memverifikasi apakah itu URL.
Tes ini tidak mudah ditulis, jadi lebih baik menggunakan ekspresi reguler untuk mengotentikasi.
Dipertentu bahwa input hanya dapat dimulai dengan http: // dan https: //, dan harus berupa url.
Beberapa orang mengatakan, mengapa halaman web tidak bisa seperti www.1.com berfungsi?
Ini untuk menghindari fakta bahwa ketika Anda menggunakan input pengguna untuk membangun hyperlink, jika atribut HREF dalam tag tidak dapat menghadapi sesuatu http: // atau https: //, itu akan dianggap sebagai direktori root dan kemudian akan menulis alamat ini di belakang URL situs web Anda dan kemudian melompat. Setiap orang harus tahu ini. Misalnya, jika <a href = "www.1.com"> xxx </a>, url saya http: // localhost. Kemudian setelah mengklik tag yang ditampilkan sebagai xxx, Anda cukup melompat ke lokasi http: //localhost/www.1.com, tentu saja itu salah.
Misalnya, di kotak teks berikut, cara menggunakan ekspresi reguler untuk meminta pengguna untuk memasukkan URL yang dimulai dengan http: // dan https: //?
1. Pertama -tama, ini adalah tata letak sederhana, tidak perlu dikatakan:
<! Doctype html public "-// w3c // dtd xhtml 1.0 transisi // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Unt titled document</title></head><body>The URL must start with http:// or https:// and must be a Url^_^! <br /> <input type = "text" id = "url"/> <button onclick = "checkUrl ()"> konfirmasi </button> </body> </html>
2. Yang kedua adalah skripnya, sebenarnya tidak perlu mengatakannya. Kuncinya adalah ekspresi reguler:
<script> function checkUrl () {var url = document.geteLementById ("url"). value; var reg =/^([hh] [tt] {2} [pp]: //// | [hh] [tt] {2} [pp] [ss]: ////) (([a-za-z0-9- ~]+)/. if (! Reg.test (url)) {alert ("URL ini tidak dimulai dengan http: // https: //, atau bukan url!"); } else {alert ("input berhasil"); }} </script>Dalam: var reg =/^([hh] [tt] {2} [pp]: //// | [hh] [tt] {2} [pp] [ss]: ////) (([A-ZA-Z0-9- ~]+)/.)+([A-ZA-ZA-Z0-9-///~]+)/.
1. Dalam JavaScript, karena semua variabel adalah var, ekspresi reguler harus ditulis dalam dua slash, /.../, dan kemudian tebasan/dalam ekspresi reguler harus ditulis sebagai //
2. ^ berarti bahwa itu harus dimulai dengan ..., [] berarti unit uji, yaitu, sesuatu yang dapat ditampung oleh karakter tertentu. Misalnya, ^([hh] [tt] {2} [pp]: //// | [hh] [tt] {2} [pp] [ss]: ////), yang berarti bahwa ia mengharuskannya dimulai dengan http: // atau https: //. | Ya, karakter pertama adalah H atau H, karakter kedua dan ketiga adalah [TT], {2} berarti bahwa termasuk karakter ini dan 1 karakter setelah itu harus [TT], dan sebagainya
3. ([A-ZA-Z0-9- ~]+) berarti bahwa termasuk karakter ini dan karakter selanjutnya harus huruf besar, huruf kecil, angka, tanda-tanda minus-atau ~
Karakter + Berarti: Cocokkan karakter sebelum tanda + tanda 1 atau n kali, misalnya: /a + /cocok 'a' dalam "permen" dan semua 'a' dalam "caaaaaaAndy".
4. Oleh karena itu (([A-ZA-Z0-9- ~]+)/.)+ Berarti xxx. Hal ini diakhiri dengan titik harus muncul setidaknya sekali sebelum karakter ([a-za-z0-9- ~ //])+$.
5. $ berarti itu harus diakhiri dengan huruf besar, huruf kecil, angka, tanda minus -, ~, /
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.