1. 程式人生 > >javascript獲取位址列各欄位方法

javascript獲取位址列各欄位方法

原文連結:http://caibaojian.com/177.html

今天做一個主題,有一個需求是根據不同的頁面來做,雖然php也可以做到,不過考慮到自己的特效程式碼都是在上完成,想著能否直接通過獲取位址列中的連結引數裡面的數字直接來實現效果。

假設頁面的地址是這樣子的。http://caibaojian.com/p/165 ,那麼我要獲取最後的一個數字165,可以通過這樣子的程式碼

var url= window.location.href;
var index = url.substring(url.lastIndexOf('/') + 1);

但是這樣子有缺陷,假如我獲取到的地址不是這樣子的形式,而是http://caibaojian.com/tools

的話,那麼這個index的值就不是一個數字了。·

解決方案

下面這種可能會更好呢?

//code from http://caibaojian.com/177.html
var lastBit = url.substring(url.lastIndexOf('/') + 1).match(/[^\/]*$/)[0];
var lastDigits = url.substring(url.lastIndexOf('/') + 1).match(/[0-9]*$/)[0];  // 獲取的是數字部分

獲取查詢值

function getUrlParam(name){
    var reg = new RegExp("(^|&)"
+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null; } //獲取http://caibaojian.com/?p=177.html的p值 getUrlParam('p'); //輸出177
<script type="text/javascript">
(function($){
$.getUrlParam = function(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
})(jQuery);
$(function(){
alert(window.location.href);
alert($.getUrlParam('page'));
})
</script>

http://www.caibaojian.com/front?page=5

當一個頁面的地址是上面這個,那麼我們使用了上面的jQuery程式碼,就會彈出一個數字5了。

內容擴充套件

對於像下面這樣的網址

http://www.caibaojian.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

我們可以用javascript獲得其中的各個部分
1, window.location.href-----------整個URl字串(在瀏覽器中就是完整的位址列)
本例返回值: http://www.caibaojian.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

2,window.location.protocol---------URL 的協議部分
本例返回值:http:

3,window.location.host----------URL 的主機部分
本例返回值:www.caibaojian.com

4,window.location.port-----URL 的埠部分
如果採用預設的80埠(update:即使添加了:80),那麼返回值並不是預設的80而是空字元
本例返回值:""

5,window.location.pathname(URL 的路徑部分(就是檔案地址))
本例返回值:/fisker/post/0703/window.location.html

6,window.location.search-------查詢(引數)部分
除了給動態語言賦值以外,我們同樣可以給靜態頁面,並使用javascript來獲得相信應的引數值
本例返回值:?ver=1.0&id=6

7,window.location.hash-------錨點
本例返回值:#imhere

相關推薦

javascript獲取方法

原文連結:http://caibaojian.com/177.html今天做一個主題,有一個需求是根據不同的頁面來做,雖然php也可以做到,不過考慮到自己的特效程式碼都是在上完成,想著能否直接通過獲取位址列中的連結引數裡面的數字直接來實現效果。 假設頁面的地址是這樣子的。h

用JS獲取引數的實用方法

方法如下:首先建立一個方法,引數name是url路徑中的引數名function GetQueryString(name){        var reg = new RegExp("(^|&)"

mysql 獲取 表名 型別 註釋

SELECT  table_name,  column_name columnName,  data_type dataType,  column_comment columnComment FROM  information_schema. COLUMNS WHERE  t

原生JavaScript 獲取引數

用正則來匹配(強烈推薦,簡潔快速) function getQuery(name) { // 用該屬性獲取頁面 URL 地址從問號 (?) 開始的 URL(查詢部分) var url = window.location.search; // 正則篩選位址列

javascript或jquery獲取url的get引數的方法

獲取url的get引數,要用到正則表示式。 獲取url中的某個引數的值  程式碼如下: /** * 通過javascript獲取url中get的某個引數 * @param name 要獲取url的get引數值的鍵名 * @returns {*} */ fun

JavaScript獲取url引數

獲取全部引數 function getParams(url) { try { var index = url.indexOf('?'); url = ur

JavaScript獲取內容

例如地址為:http://www.mazey.net/baby/blog/index.php?a=1&b=2#c var query = window.location.href; //http://www.mazey.net/baby/blog/index.php?

前端Js獲取網頁引數!

 function get(name){    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");    var r = window.location.search.s

獲取URL的屬性

1 // alert(getQueryString('departmentName')); 2 3 function getQueryString(name) { 4 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&

vue專案獲取引數(非路由傳參)

在專案中,遇到一個需求,就是另一個系統直接跳轉到我們專案中的某個頁面,不需要做使用者的校驗直接單純的跳轉新頁面,再初始化查詢資料,引數以位址列的形式傳入 由於原來專案做過許可權控制,所以在路由那邊需要進行配置(部分程式碼): const newPage = { path:'/newPage', compon

JS獲取引數整理

方法1、 //取連結中引數的值  function GetUrlParms() {     var args = new Object();     var query = location.search.substring(1);//獲取查詢串

JS中引數的獲取

1 function getParamer(paramer) { 2 3 var url = window.location.href.split("?")[1]; /* 獲取url裡"?"後面的值 */ 4 if (url.indexOf("&

JS採用正則表示式獲取引數

getQueryString:function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = decodeURI(decodeURI(window.location.search)

tornado獲取get,post,,headers中的資訊

# tornado讀取客戶端提交的訪問引數演示 #獲取引數用 arg=self.get_query_argumnet() -----get方式 #args=self.get_query_arguments() -----get方式 #異常,不傳遞引數時的處理 #post方式獲取引數 ''

js 獲取純web中URL傳參

         function GetQueryString(name)    {         var reg = new RegExp("(^|&)"+ name +"=

new URLSearchParams() 內建物件獲取的引數 通過鍵的方式拿到值

首先宣告一下 隨便賦個值也行 let a = new URLSearchParams(location.search); 然後通過a.get()的方式輸入鍵 拿到值 就簡單點吧 拿到前一個頁面傳過來的id let id = a.get(‘id’); 這樣就可以直接拿到id了 下面這個

vue獲取地址url擷取引數

vue獲取位址列地址url擷取引數 方法 (新建js檔案) export function UrlSearch(){ let name,value,str=location.href,num=str.indexOf("?"); //取得整個位址列 str=str.substr(num

在js中獲取引數

在js中獲取位址列引數 //根據傳遞過來的引數name獲取對應的值 function getParameter(name) { var reg = new RegExp("(^|&)" + name + “=([^&]*)(&|$)”,“i

js開啟新視窗,開啟新視窗遮蔽工具,視窗按規定大小顯示

opener=null; window.open ("http://baidu.com", "newwindow", "height=500, width=800, toolbar=no, menubar=no, scrollbars=no, resizab

用JS獲取引數的方法

方法一:採用正則表示式獲取位址列引數: <html> <head> </head> <body> <script type="text/javascript"> alert(GetQueryString("id")