JavaScript使用URL.canParse驗(yàn)證URL的方法詳解
JavaScript誕生以來,一直沒有一種簡單的方法驗(yàn)證URL,現(xiàn)在JavaScript新增了一個新方法——URL.canParse。
URL.canParse('https://www.stefanjudis.com'); // true
URL.canParse('www.stefanjudis.com'); // false
URL.canParse() 是一種快速驗(yàn)證字符串是否為有效的URL的方法。然而我們也不要高興太早,URL.canParse()方法還存在瀏覽器兼容問題,在寫這篇文章時支持該方法的瀏覽器版本如下圖:

這是詳情的瀏覽器支持信息鏈接:https://caniuse.com/?search=canParse%E3%80%82
不過core-js已支持URL.canParse()方法,使用core-js作為墊片可以解決瀏覽器兼容性問題。

URL.canParse() 與 URL() 構(gòu)造函數(shù)是相同的算法來評估有效的 URL。
由于這兩種方法都實(shí)現(xiàn)了相同的解析器,并且URL() 目前得到了很好的支持,因此我們可以使用構(gòu)造函數(shù)來驗(yàn)證 URL。將新的URL() 放在輔助函數(shù)中,調(diào)用它并檢查它是否拋出異常!
function isUrlValid(string) {
try {
new URL(string);
return true;
} catch (err) {
return false;
}
}
isUrlValid('https://www.stefanjudis.com'); // true
isUrlValid('www.stefanjudis.com'); // false
如果不喜歡 isUrlValid 函數(shù),也可以像 core-js 一樣 polyfill URL.canParse() 。
以上就是JavaScript使用URL.canParse驗(yàn)證URL方法詳解的詳細(xì)內(nèi)容,更多關(guān)于JavaScript驗(yàn)證URL的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Three.js利用Detector.js插件如何實(shí)現(xiàn)兼容性檢測詳解
這篇文章主要給大家介紹了關(guān)于Three.js利用Detector.js插件如何實(shí)現(xiàn)兼容性檢測的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-09-09
javascript 封裝的一個實(shí)用的焦點(diǎn)圖切換效果
之前有一篇博客,實(shí)用的焦點(diǎn)圖切換效果,結(jié)構(gòu)行為相分離 解釋的比較詳細(xì),腳本是分離式的,但在易用性和重用性方面并不理想,這里原作者進(jìn)行了,優(yōu)化。2010-07-07
javascript中for...of和for..in循環(huán)的區(qū)別
JS中循環(huán)語句眾多,你是否也有用的時候突然不知道用哪個的經(jīng)歷,本文主要介紹了javascript中for...of和for..in循環(huán)的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
查看圖片(前進(jìn)后退)功能實(shí)現(xiàn)js代碼
前進(jìn)后退實(shí)現(xiàn)的前提是:images文件夾下圖片的命名是從1~5.jpg有規(guī)律的,感興趣的朋友可以參考下哈,希望可以幫助到你2013-04-04
微信小程序開發(fā)之錄音機(jī) 音頻播放 動畫實(shí)例 (真機(jī)可用)
這篇文章主要介紹了微信小程序開發(fā)之錄音機(jī) 音頻播放 動畫實(shí)例 (真機(jī)可用),這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2016-12-12

