鴻蒙語言基礎類庫:【@ohos.url (URL字符串解析)】

URL字符串解析

icon-note.gif?說明: ?本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。

導入模塊

import Url from '@ohos.url' 

URLSearchParams

constructor

constructor(init?: string[][] | Record<string, string> | string | URLSearchParams)

URLSearchParams的構造函數。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
initstring[][]Record<string,?string>string

示例:

var objectParams = new Url.URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]);
var objectParams1 = new Url.URLSearchParams({"fod" : 1 , "bard" : 2});
var objectParams2 = new Url.URLSearchParams('?fod=1&bard=2');
var urlObject = new Url.URL('https://developer.mozilla.org/?fod=1&bard=2');
var params = new Url.URLSearchParams(urlObject.search);

append

append(name: string, value: string): void

將新的鍵值對插入到查詢字符串。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring需要插入搜索參數的鍵名。
valuestring需要插入搜索參數的值。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1));
paramsObject.append('fod', 3);

delete

delete(name: string): void

刪除指定名稱的鍵值對。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring需要刪除的鍵值名稱。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsobject = new Url.URLSearchParams(urlObject.search.slice(1));
paramsobject.delete('fod');

getAll

getAll(name: string): string[]

獲取指定名稱的所有鍵值對。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring指定的鍵值名稱。

返回值:

類型說明
string[]返回指定名稱的所有鍵值對。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2'); 
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1)); 
paramsObject.append('fod', 3); // Add a second value for the fod parameter.
console.log(params.getAll('fod')) // Output ["1","3"].

entries

entries(): IterableIterator<[string, string]>

返回一個ES6的迭代器,迭代器的每一項都是一個 JavaScript Array。Array的第一項是name,Array的第二項是value。

系統能力: ?SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator<[string,?string]>返回一個ES6的迭代器。

示例:

var searchParamsObject = new Url.URLSearchParams("keyName1=valueName1&keyName2=valueName2"); 
for (var pair of searchParamsObject .entries()) { // Show keyName/valueName pairsconsole.log(pair[0]+ ', '+ pair[1]);
}

forEach

forEach(callbackfn: (value: string, key: string, searchParams: this) => void, thisArg?: Object): void

通過回調函數來遍歷URLSearchParams實例對象上的鍵值對。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
callbackfnfunction回調函數。
thisArgObjectcallbackfn被調用時用作this值

表1?callbackfn的參數說明

參數名類型必填說明
valuestring當前遍歷到的鍵值。
keystring當前遍歷到的鍵名。
searchParamsObject當前調用forEach方法的實例對象。

示例:

const myURLObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2'); 
myURLObject.searchParams.forEach((value, name, searchParams) => {  console.log(name, value, myURLObject.searchParams === searchParams);
});

get

get(name: string): string | null

獲取指定名稱對應的第一個值。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring指定鍵值對的名稱。

返回值:

類型說明
string返回第一個值。
null如果沒找到,返回?null。

示例:

var paramsOject = new Url.URLSearchParams(document.location.search.substring(1)); 
var name = paramsOject.get("name"); // is the string "Jonathan" 
var age = parseInt(paramsOject.get("age"), 10); // is the number 18
var address = paramsOject.get("address"); // null

has

has(name: string): boolean

判斷一個指定的鍵名對應的值是否存在。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring要查找的參數的鍵名。

返回值:

類型說明
boolean是否存在相對應的key值,存在返回true,否則返回false。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1)); 
paramsObject.has('bard') === true;

set

set(name: string, value: string): void

將與name關聯的URLSearchParams對象中的值設置為value。如果存在名稱為name的鍵值對,請將第一個鍵值對的值設置為value并刪除所有其他值。如果不是,則將鍵值對附加到查詢字符串。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring將要設置的參數的鍵值名。
valuestring所要設置的參數值。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1));
paramsObject.set('baz', 3); // Add a third parameter.

sort

sort(): void

對包含在此對象中的所有鍵值對進行排序,并返回undefined。排序順序是根據鍵的Unicode代碼點。該方法使用穩定的排序算法 (即,將保留具有相等鍵的鍵值對之間的相對順序)。

系統能力: ?SystemCapability.Utils.Lang

示例:

var searchParamsObject = new Url.URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object
searchParamsObject.sort(); // Sort the key/value pairs
console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4

keys

keys(): IterableIterator

返回一個所有鍵值對的name的ES6迭代器。

系統能力: ?SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator返回一個所有鍵值對的name的ES6迭代器。

示例:

var searchParamsObject = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var key of searchParamsObject .keys()) { // Output key-value pairsconsole.log(key);
}

values

values(): IterableIterator

返回一個所有鍵值對的value的ES6迭代器。

系統能力: ?SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator返回一個所有鍵值對的value的ES6迭代器。

示例:

var searchParams = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var value of searchParams.values()) { console.log(value);
}

[Symbol.iterator]

Symbol.iterator: IterableIterator<[string, string]>

返回一個ES6的迭代器,迭代器的每一項都是一個 JavaScript Array。Array的第一項是name,Array的第二項是value。

系統能力: ?SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator<[string,?string]>返回一個ES6的迭代器。

示例:

const paramsObject = new Url.URLSearchParams('fod=bay&edg=bap');
for (const [name, value] of paramsObject) { console.log(name, value); 
} 

tostring

toString(): string

返回序列化為字符串的搜索參數,必要時對字符進行百分比編碼。

系統能力: ?SystemCapability.Utils.Lang

返回值:

類型說明
string返回序列化為字符串的搜索參數,必要時對字符進行百分比編碼。

示例:

let url = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new Url.URLSearchParams(url.search.slice(1)); 
params.append('fod', 3);
console.log(params.toString());

URL

屬性

系統能力: ?以下各項對應的系統能力均為SystemCapability.Utils.Lang

名稱參數類型可讀可寫說明
hashstring獲取和設置URL的片段部分。
hoststring獲取和設置URL的主機部分。
hostnamestring獲取和設置URL的主機名部分,不帶端口。
hrefstring獲取和設置序列化的URL。
originstring獲取URL源的只讀序列化。
passwordstring獲取和設置URL的密碼部分。
pathnamestring獲取和設置URL的路徑部分。
portstring獲取和設置URL的端口部分。
protocolstring獲取和設置URL的協議部分。
searchstring獲取和設置URL的序列化查詢部分。
searchParamsURLsearchParams獲取URLSearchParams表示URL查詢參數的對象。
usernamestring獲取和設置URL的用戶名部分。

constructor

constructor(url: string, base?: string | URL)

URL的構造函數。

系統能力: ?SystemCapability.Utils.Lang

參數:

參數名類型必填說明
urlstring入參對象。
basestringURL

示例:

var mm = 'http://username:password@host:8080';
var a = new Url.URL("/", mm); // Output 'http://username:password@host:8080/';
var b = new Url.URL(mm); // Output 'http://username:password@host:8080/';
new Url.URL('path/path1', b); // Output 'http://username:password@host:8080/path/path1';
var c = new Url.URL('/path/path1', b);  // Output 'http://username:password@host:8080/path/path1'; 
new Url.URL('/path/path1', c); // Output 'http://username:password@host:8080/path/path1';
new Url.URL('/path/path1', a); // Output 'http://username:password@host:8080/path/path1';
new Url.URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1
new Url.URL('/path/path1', ''); // Raises a TypeError exception as '' is not a valid URL
new Url.URL('/path/path1'); // Raises a TypeError exception as '/path/path1' is not a valid URL
new Url.URL('http://www.shanxi.com', ); // Output http://www.shanxi.com/
new Url.URL('http://www.shanxi.com', b); // Output http://www.shanxi.com/

tostring

toString(): string

將解析過后的URL轉化為字符串。

系統能力: ?SystemCapability.Utils.Lang

返回值:

類型說明
string用于返回網址的字符串序列化。

示例:

const url = new Url.URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toString()

toJSON

toJSON(): string

將解析過后的URL轉化為JSON字符串。

系統能力: ?SystemCapability.Utils.Lang

返回值:

QQ截圖20240705211022.png

類型說明 HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
string用于返回網址的字符串序列化。

示例:

const url = new Url.URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43093.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43093.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43093.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【K8s】專題六(5):Kubernetes 穩定性之重啟策略、滾動更新策略

以下內容均來自個人筆記并重新梳理&#xff0c;如有錯誤歡迎指正&#xff01;如果對您有幫助&#xff0c;煩請點贊、關注、轉發&#xff01;歡迎掃碼關注個人公眾號&#xff01; 目錄 一、重啟策略 1、基本介紹 2、資源清單&#xff08;示例&#xff09; 二、滾動更新策略 …

Vue框架引入

vue簡介 1.1.vue是什么?Vue官網 英文官網: https://vuejs.org/中文官網: https://cn.vuejs.org/ vue是一套構建用戶界面的漸進式javascript框架 構建用戶界面:將我們手里拿到的數據通過某種辦法變成用戶可以看見的界面前端工程師的職責:就是在合適的時候發出合適的請求,然后…

展開說說:Android服務之bindService解析

前面兩篇文章我們分別總結了Android四種Service的基本使用以及源碼層面總結一下startService的執行過程&#xff0c;本篇繼續從源碼層面總結bindService的執行過程。 本文依然按著是什么&#xff1f;有什么&#xff1f;怎么用&#xff1f;啥原理&#xff1f;的步驟來分析。 b…

Splunk Enterprise 任意文件讀取漏洞(CVE-2024-36991)

文章目錄 前言漏洞描述影響版本漏洞復現POC批量檢測-nuclei腳本 修復建議 前言 Splunk Enterprise 是一款強大的機器數據管理和分析平臺&#xff0c;能夠實時收集、索引、搜索、分析和可視化來自各種數據源的日志和數據&#xff0c;幫助企業提升運營效率、增強安全性和優化業務…

數據庫作業3

DELETE FROM student WHERE grade IS NULL; 一、數據庫操作部分 1. 向 student 表中添加一條新記錄&#xff1a; INSERT INTO student (id, name, grade) VALUES (1, monkey, 98.5); 2. 向 student 表中添加多條新記錄&#xff1a; INSERT INTO student (id, name, grade) V…

【MYSQL】如何解決 bin log 與 redo log 的一致性問題

該問題問的其實就是redo log 的兩階段提交 為什么說redo log 具有崩潰恢復的能力 MySQL Server 層擁有的 bin log 只能用于歸檔&#xff0c;不足以實現崩潰恢復&#xff08;crash-safe&#xff09;&#xff0c;需要借助 InnoDB 引擎的 redo log 才能擁有崩潰恢復的能力。所謂崩…

PHP的發展歷程以及功能使用場景

PHP的發展歷程 PHP的發展歷程可以追溯到1994年&#xff0c;由丹麥計算機程序員拉斯穆斯勒多夫&#xff08;Rasmus Lerdorf&#xff09;出于個人網站統計訪問者信息的需求而創建。以下是PHP發展歷程中的幾個重要里程碑&#xff1a; 初創階段&#xff08;1994-1995年&#xff09…

二刷力扣——單調棧

739. 每日溫度 單調棧應該從棧底到棧頂 是遞減的。 找下一個更大的 &#xff0c;用遞減單調棧&#xff0c;就可以確定在棧里面的每個比當前元素i小的元素&#xff0c;下一個更大的就是這個i&#xff0c;然后彈出并記錄&#xff1b;然后當前元素i入棧&#xff0c;仍然滿足遞減…

數學基礎 -- 三角學

三角學 三角學&#xff08;Trigonometry&#xff09;是數學的一個分支&#xff0c;主要研究三角形的邊長與角度之間的關系。三角學在幾何學、物理學、工程學等多個領域中有廣泛的應用。以下是三角學的一些基本概念和公式&#xff1a; 基本概念 直角三角形&#xff1a;一個角…

Java進階----繼承

繼承 一.繼承概述 繼承是可以通過定義新的類&#xff0c;在已有類的基礎上擴展屬性和功能的一種技術. 案例&#xff1a;優化 貓、狗JavaBean類的設計 狗類&#xff1a;Dog 屬性&#xff1a;名字 name&#xff0c;年齡 age 方法&#xff1a;看家 watchHome()&#xff0c;Gett…

防抖和字節流

防抖&#xff08;Debouncing&#xff09;和字節流&#xff08;Byte Stream&#xff09;是兩個不同的概念&#xff0c;分別在編程和數據傳輸領域中使用。 防抖&#xff08;Debouncing&#xff09; 防抖是一種在前端開發中常用的技術&#xff0c;用于控制事件處理函數的執行頻率…

Android多開應用軟件系統設計

設計一個支持Android多開應用的軟件系統&#xff0c;主要涉及到以下幾個關鍵技術點和設計考慮&#xff1a; 1. 虛擬化技術 容器技術&#xff1a;與傳統的虛擬機不同&#xff0c;可以采用更輕量級的容器技術&#xff0c;為每個應用實例創建獨立的運行環境。這包括分配獨立的用…

Ubuntu配置sendmail client,用sendmail命令來發送郵件

參考文檔 https://mailoutgoing.com/support/mailrelay/sendmail.html https://www.sendmail.org/~ca/email/auth.html https://docs.oracle.com/en/operating-systems/oracle-linux/6/admin/configure-sendmail.html 總結 1、ubuntu環境下&#xff0c;sendmail服務位于/etc/i…

HTTP 請求走私漏洞詳解

超詳細的HTTP請求走私漏洞教程&#xff0c;看完還不會你來找我。 1. 簡介 HTTP請求走私漏洞&#xff08;HTTP Request Smuggling&#xff09;發生在前端服務器&#xff08;也稱代理服務器&#xff0c;一般會進行身份驗證或訪問控制&#xff09;和后端服務器在解析HTTP請求時&…

上位機圖像處理和嵌入式模塊部署(mcu項目2:串口日志記錄器)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】 淘寶上面有一個商品蠻好玩的&#xff0c;那就是日志記錄器。說是記錄器&#xff0c;其實就是一個模塊&#xff0c;這個模塊的輸入是一個ttl串口&am…

利用Python進行數據分析PDF下載經典數據分享推薦

本書由Python pandas項目創始人Wes McKinney親筆撰寫&#xff0c;詳細介紹利用Python進行操作、處理、清洗和規整數據等方面的具體細節和基本要點。第2版針對Python 3.6進行全面修訂和更新&#xff0c;涵蓋新版的pandas、NumPy、IPython和Jupyter&#xff0c;并增加大量實際案例…

Docker Desktop如何換鏡像源?

docker現在很多鏡像源都出現了問題,導致無法拉取鏡像,所以找到一個好的鏡像源,尤為重要。 一、阿里鏡像源 經過測試,目前,阿里云鏡像加速地址還可以使用。如果沒有阿里云賬號,需要先注冊一個賬號。 地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 二…

基于Java技術的B/S模式書籍學習平臺

你好&#xff0c;我是專注于計算機科學領域的學姐碼農小野。如果你對書籍學習平臺開發感興趣或有相關需求&#xff0c;歡迎私信聯系我。 開發語言&#xff1a; Java 數據庫&#xff1a; MySQL 技術&#xff1a; B/S模式、Java技術 工具&#xff1a; Eclipse、Navicat、Mave…

【Go】函數的使用

目錄 函數返回多個值 init函數和import init函數 main函數 函數的參數 值傳遞 引用傳遞&#xff08;指針&#xff09; 函數返回多個值 用法如下&#xff1a; package mainimport ("fmt""strconv" )// 返回多個返回值&#xff0c;無參數名 func Mu…

相鄰不同數字的標記

鏈接&#xff1a;登錄—專業IT筆試面試備考平臺_牛客網 來源&#xff1a;牛客網 時間限制&#xff1a;C/C 1秒&#xff0c;其他語言2秒 空間限制&#xff1a;C/C 262144K&#xff0c;其他語言524288K 64bit IO Format: %lld 題目描述 小紅拿到了一個數組&#xff0c;每個數…