从URL中提取文件名
/**
* 从给定的 URL 中提取文件名。
*
* @param {string} url - 要解析的 URL。
* @param {boolean} includeExtension - 是否返回扩展名。
* @returns {string} - 文件名或带扩展名的文件名。
* @author 飞云
* @wechat imfeiyun
* @link http://www.feiyunjs.com
*/
function getFileName(url, includeExtension) {
// 对 URL 进行解码
const decodedUrl = decodeURIComponent(url);
// 使用正则表达式匹配文件名
const match = decodedUrl.match(/\/([^\/?#]+)$/);
// 如果没有匹配到文件名,返回空字符串
if (!match) return '';
// 获取匹配的文件名(包括扩展名)
const fileNameWithExtension = match[1];
// 如果不需要扩展名,分割文件名和扩展名
if (!includeExtension) {
return fileNameWithExtension.split('.')[0]; // 仅返回文件名
}
// 如果需要扩展名,直接返回文件名(包括扩展名)
return fileNameWithExtension;
}
去掉URL中的参数
/**
* 去掉URL中的参数部分
*
* @param {string} url
* @author 飞云
* @wechat imfeiyun
* @link http://www.feiyunjs.com
*/
function removeQueryParams(url) {
// 使用正则表达式去掉参数部分
// \?.*$/ 表示匹配问号及其后面的所有字符,直到字符串的结尾
const pattern = /\?.*$/;
// 使用replace方法将匹配到的部分替换为空字符串
return url.replace(pattern, '');
}
// 示例用法
const url = "https://gitee.com/xxx/raw/master/file.js?time=1726851287129";
// 调用函数,去掉URL中的参数部分
const urlWithoutParams = removeQueryParams(url);
// 输出结果
console.log(urlWithoutParams); // 输出: https://gitee.com/xxx/raw/master/file.js
取出网址中的域名
/**
* 从给定的 URL 中提取域名。
*
* @param {string} url - 要解析的 URL。
* @returns {string|null} - 提取的域名或 null(如果未找到)。
* @author 飞云
* @wechat imfeiyun
* @link http://www.feiyunjs.com
*/
function getDomain(url) {
const pattern = /^(?:https?:\/\/)?([^\/]+)/; // 匹配域名部分
const match = url.match(pattern);
return match ? match[1] : null; // 返回域名或 null
}
// 示例
const url1 = "https://gitee.com/xxx/raw/master/file.js";
const url2 = "http://example.com/path/to/resource";
console.log(getDomain(url1)); // 输出: "gitee.com"
console.log(getDomain(url2)); // 输出: "example.com"
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » JavaScript中一些网址相关的操作方法
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » JavaScript中一些网址相关的操作方法