在JavaScript中驗(yàn)證URL的新方法(2023版)
在 JavaScript 領(lǐng)域,URL 驗(yàn)證方面有了新消息!多年來(lái),人們一直在咒罵 JavaScript 沒(méi)有一種簡(jiǎn)便的方法來(lái)驗(yàn)證 URL,現(xiàn)在有了一種新方法--URL.canParse()!
URL.canParse("https://www.stefanjudis.com"); // true
URL.canParse("www.stefanjudis.com"); // false哈利路亞!URL.canParse() 是一種快速判斷字符串是否為有效 URL 的方法。但在我們興奮之前,在撰寫(xiě)本篇文章時(shí),URL.canParse() 并不支持跨瀏覽器。不過(guò)你可以在下面找到最新的瀏覽器支持信息。

不過(guò),靜態(tài)方法已經(jīng)包含在 core-js 中。填充漂亮的 URL 驗(yàn)證一行代碼很困難嗎?事實(shí)證明,不是!
URL.canParse() 依靠與 URL() 構(gòu)造函數(shù)相同的算法來(lái)評(píng)估有效的 URL。
由于這兩種方法都實(shí)現(xiàn)了相同的解析器,而且 URL() 目前也得到了很好的支持,因此可以按照一般建議使用構(gòu)造函數(shù)來(lái)驗(yàn)證 URL。將 new URL() 放在輔助函數(shù)中,檢查它是否會(huì)拋出異常并將其調(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ù),也可以使用類(lèi)似于 core-js 的 polyfillURL.canParse()。
唯一剩下的問(wèn)題是“什么是有效的 URL?”但我將把這個(gè)問(wèn)題留到下次討論!因?yàn)檫@是個(gè)棘手的問(wèn)題。
原文:https://www.stefanjudis.com/blog/validate-urls-in-javascript/
到此這篇關(guān)于在JavaScript中驗(yàn)證URL的新方法(2023版)的文章就介紹到這了,更多相關(guān)JavaScript 驗(yàn)證URL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳談js中window.location.search的用法和作用
下面小編就為大家?guī)?lái)一篇詳談js中window.location.search的用法和作用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
IE6中使用position導(dǎo)致頁(yè)面變形的解決方案(js代碼)
IE6中使用position導(dǎo)致頁(yè)面變形,影響用戶(hù)體驗(yàn),通過(guò)搜索可以通過(guò)js來(lái)實(shí)現(xiàn)。2011-01-01
在ts文件中引入js模塊編寫(xiě)聲明文件的寫(xiě)法示例
這篇文章主要給大家介紹了關(guān)于在ts文件中引入js模塊編寫(xiě)聲明文件的寫(xiě)法示例,TypeScript是JavaScript的超集,TypeScript會(huì)進(jìn)類(lèi)型檢查,需要的朋友可以參考下2023-08-08
使用echarts實(shí)現(xiàn)3d柱狀圖+折線(xiàn)圖
這篇文章主要為大家詳細(xì)介紹了如何使用echarts實(shí)現(xiàn)3d柱狀圖和折線(xiàn)圖,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解一下2024-12-12
前端根據(jù)后端返回的文本流逐個(gè)展示文本內(nèi)容代碼示例
前端如何根據(jù)后端返回的文本流逐個(gè)展示文本內(nèi)容的實(shí)現(xiàn)步驟,前端調(diào)用特定方法來(lái)獲取文本流,然后通過(guò)處理這些文本流,逐個(gè)在界面上展示文本內(nèi)容,需要的朋友可以參考下2025-01-01
滾動(dòng)條變色 隱藏滾動(dòng)條與雙擊網(wǎng)頁(yè)自動(dòng)滾屏顯示代碼
滾動(dòng)條變色 隱藏滾動(dòng)條與雙擊網(wǎng)頁(yè)自動(dòng)滾屏顯示代碼2009-12-12
JS寫(xiě)XSS cookie stealer來(lái)竊取密碼的步驟詳解
JavaScript是web中最常用的腳本開(kāi)發(fā)語(yǔ)言,js可以自動(dòng)執(zhí)行站點(diǎn)組件,管理站點(diǎn)內(nèi)容,在web業(yè)內(nèi)實(shí)現(xiàn)其他有用的函數(shù)。這篇文章主要介紹了JS寫(xiě)XSS cookie stealer來(lái)竊取密碼的步驟詳解,需要的朋友可以參考下2017-11-11
基于vue實(shí)現(xiàn)移動(dòng)端圓形旋鈕插件效果
最近公司有一個(gè)項(xiàng)目的需要做出旋鈕的效果,旋鈕有十個(gè)檔,根據(jù)手指旋轉(zhuǎn)切換,旋轉(zhuǎn)時(shí)接近最近的檔會(huì)有吸附效果。這篇文章主要介紹了vue實(shí)現(xiàn)移動(dòng)端圓形旋鈕插件效果 ,需要的朋友可以參考下2018-11-11
發(fā)布一個(gè)高效的JavaScript分析、壓縮工具 JavaScript Analyser
發(fā)布一個(gè)高效的JavaScript分析、壓縮工具 JavaScript Analyser...2007-11-11

