如何用JavaScript正则去除路径首尾斜杠、哈希及扩展名?
JavaScript 路径格式化正则实现
需求描述
编写可在JavaScript中使用的正则表达式,实现路径格式化功能,需同时满足以下要求:
- 去除路径首尾的斜杠
- 移除路径末尾的哈希片段
- 移除路径末尾的文件扩展名
效果示例
输入样例
path/ /path /folder/path/ /folder/folder/path /folder/path#hash /folder/path.ext
期望输出
path path folder/path folder/folder/path folder/path folder/path
历史尝试方案
最初编写的正则仅能匹配不含任何斜杠、哈希、点号的文本,无法满足需求,代码如下:
^([^\\\/\#\.]*(?![\#\.\\\/].*$)/gm
该正则的使用场景为Vuetify的text-field组件校验,可作为参考。
最终可用正则
最终实现的符合所有需求的正则如下:
/^(?![\#\/\.\$\^\=\*\;\:\&\?\(\)\[\]\{\}\"\'\>\<\,\@\!\%\`\~\s])(?!.*[\#\/\.\$\^\=\*\;\:\&\?\(\)\[\]\{\}\"\'\>\<\,\@\!\%\`\~\s]$)[^\#\.\$\^\=\*\;\:\&\?\(\)\[\]\{\}\"\'\>\<\,\@\!\%\`\~\s]*$/
内容的提问来源于stack exchange,提问作者broxen
相关产品推荐
相关产品推荐

