Ada dua cara untuk mendapatkan parameter batang alamat di JS: yang pertama adalah menggunakan ekspresi reguler untuk mendapatkan parameter batang alamat, dan yang kedua adalah metode yang relatif tradisional. Di sini, editor sangat merekomendasikan penggunaan metode pertama, yang nyaman dan praktis. Silakan lihat detail di bawah ini untuk proses implementasi spesifik.
Metode 1: Gunakan ekspresi reguler untuk mendapatkan parameter batang alamat: (sangat disarankan, baik praktis maupun nyaman!)
fungsi getQueryString (name) {var reg = regexp baru ("(^| &)" + name + "= ([^&]*) (& | $)"); var r = window.location.search.substr (1) .match (reg); if (r! = null) return uncape (r [2]); return null;}// Metode panggilan
alert (getQueryString ("Nama parameter 1"));
peringatan (getQueryString ("Nama parameter 2"));
peringatan (getQueryString ("Nama parameter 3"));
Inilah contohnya:
Jika URL bilah alamat adalah: ABC.html? Id = 123 & url = http: //www.maidq.com
Kemudian, tetapi Anda menggunakan metode di atas untuk menelepon: peringatan (getQueryString ("url"));
Kotak dialog akan muncul: Kontennya http://www.maidq.com
Jika Anda menggunakan: peringatan (getQueryString ("id")); maka konten pop-up adalah 123;
Tentu saja, jika Anda tidak melewati parameter, misalnya, jika alamat Anda adalah ABC.html dan tidak ada parameter setelahnya, maka jika hasil panggilan output yang dipaksakan terkadang akan melaporkan kesalahan:
Jadi kita perlu menambahkan penilaian untuk menentukan apakah parameter yang kita minta kosong, dan pertama -tama tetapkan nilai ke variabel:
var myUrl = getQueryString ("url"); if (myurl! = null && myurl.toString (). Length> 1) {waspada (getQueryString ("url"));}Dengan cara ini Anda tidak akan melaporkan kesalahan!
Metode 2: Metode Tradisional
<script type = "text/javascript"> function URLSearch () {var name, value; var str = location.href; // Dapatkan seluruh bilah alamat var num = str.indexof ("?") Str = str.substr (num+1); // Dapatkan semua parameter stringVar.substr (start [, length] var arr = str.split ("&"); // Masukkan setiap parameter di array untuk (var i = 0; i <arr.length; i ++) {num = arr [i] .indexof ("="); if (num> 0) {num = arr [i] .indexof (" name = arr [i] .substring (0, num); value = arr [i] .substr (num+1); ini [name] = value;}}} var request = new URLSearch ();Misalnya, simpan kode ini sebagai 1.html
Lalu saya ingin mengakses 1.html? Id = tes
Saat ini, nilai tes diperoleh
Dipanggil dalam html
<type skrip = "Text/JavaScript"> var a = "http://baidu.com"; </script> </head> <tody> <a id = "a1" href = ""> sadfsdfas </a> <script> var a1 = document.geteLementById ("a1"); a1.href = var a1 = document.geteLementById ("a1"); a1.href = script = document.geteLementById ("a1"); a1.href = script = document. a = "http://xxx.com/gg.htm?cctv"; var s = A.indexOf ("?"); var t = a.substring (s+1); // t adalah apa yang terjadi setelahnya </script>stringvar.substr (mulai [, panjang]
Mengembalikan substring dari panjang yang ditentukan mulai dari posisi yang ditentukan.
StringVar
Opsi yang diperlukan. Objek literal atau string string untuk mengekstrak substring.
awal
Opsi yang diperlukan. Posisi awal dari substring yang diperlukan. Indeks karakter pertama dalam string adalah 0.
panjang
Opsional. Jumlah karakter yang harus dimasukkan dalam substring yang dikembalikan.
Jika panjang 0 atau negatif, string kosong akan dikembalikan. Jika parameter ini tidak ditentukan, substring berlanjut ke ujung StringVar.
Berikut adalah beberapa parameter terkait:
str.tolowercase () dikonversi menjadi huruf kecil
str.tuppercase () Semua string dikonversi menjadi huruf besar
URL adalah: Seragam Sumber Daya (URL)
URL lengkap terdiri dari bagian -bagian ini:
Skema: // Host: Port/Path? Query#Fragment
Skema: Protokol Komunikasi
HTTP, FTP, Maito, dll.
Host: Host
Server (komputer) Sistem Nama Domain (DNS) Nama host atau alamat IP.
Port: Nomor port
Integer, opsional, ketika dihilangkan, port default skema digunakan, seperti port default HTTP adalah 80.
Path: Path
Simbol string yang dipisahkan oleh nol atau ganda "/" umumnya digunakan untuk mewakili direktori atau alamat file pada host.
Kueri: Permintaan
Secara opsional, ini digunakan untuk meneruskan parameter ke halaman web dinamis (seperti halaman web yang dibuat menggunakan CGI, ISAPI, PHP/JSP/ASP/ASP.NET dan teknologi lainnya). Mungkin ada beberapa parameter, dipisahkan oleh simbol "&", dan nama dan nilai setiap parameter dipisahkan oleh simbol "=".
Fragmen: Fragmen Informasi
String yang menentukan fragmen dalam sumber daya jaringan. Misalnya, ada beberapa penjelasan kata benda di halaman web, dan Anda dapat menggunakan fragmen untuk secara langsung menemukan penjelasan istilah tertentu. (Juga dikenal sebagai titik jangkar.)
Untuk url seperti itu
http://www.maidq.com/index.html?ver=1.0&id=6#imhere
Kita bisa mendapatkan berbagai bagiannya dalam javascript
1, window.location.href
Seluruh string URL (bilah alamat lengkap di browser)
Nilai pengembalian dalam contoh ini: http://www.maidq.com/index.html?ver=1.0&id=6#imhere
2, window.location.protocol
Bagian protokol dari URL
Contoh ini mengembalikan nilai: http:
3, window.location.host
Bagian tuan rumah dari URL
Nilai pengembalian dalam contoh ini: www.maidq.com
4, window.location.port
Bagian pelabuhan dari URL
Jika port 80 default digunakan (perbarui: bahkan jika: 80 ditambahkan), nilai pengembalian bukan default 80 tetapi karakter kosong
Contoh ini mengembalikan nilai: ""
5, window.location.pathname
Bagian jalur dari URL (yaitu alamat file)
Contoh ini mengembalikan nilai: /fisker/post/0703/window.location.html
6, window.location.search
Bagian query (parameter)
Selain menetapkan nilai ke bahasa dinamis, kami juga dapat memberikan halaman statis dan menggunakan JavaScript untuk mendapatkan nilai parameter yang diyakini.
Nilai pengembalian dalam contoh ini :? ver = 1.0 & id = 6
7, window.location.hash
Titik jangkar
Nilai pengembalian dalam contoh ini: #imhere
Di atas adalah deskripsi lengkap dari dua metode (sederhana dan praktis) dari JS untuk mendapatkan parameter batang alamat yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!