Javascript正则表达式解析路径字符串
Javascript regular expression to parse path string
我有一个向用户显示照片和相册的应用程序。根据应用程序的当前状态,我将显示相应的视图。每次视图改变,我改变url,然后控制器获取url值使用window。location。hash
返回如下形式的字符串:
"photos/byalbum/albumid"
"photos/allphotos"
"photos/eachphoto/albumid/photoid"
我的问题是我如何使用javascript正则表达式来解析这个,以确定我应该显示哪个视图,并获得参数(albumId/photoId)
我认为你最好这样做,然后regex:
"photos/eachphoto/albumid/photoid".split("/")
然后你得到一个可以检查的数组
与其使用regex,不如简单地在"/"上分割字符串,并检查每段值中所需的数据。
var urlString = <your returned value here>;
var urlPieces = urlString.split("/");
var view = urlPieces[1];
var album = (urlPieces[2]) ? urlPieces[2] : "";
var photo = (urlPieces[3]) ? urlPieces[3] : "";
然后按您的意愿处理您的数据。:)
如果有人仍然对这个问题感兴趣,我使用这个lib: path-to-regexp来解决这个问题。
基本上可以使用模式将url转换为变量。例如:
const pattern = 'photos/eachphoto/:albumid/:photoid'
const path = 'photos/eachphoto/10/23'
const converter = pathToRegex.match(pattern, { decode: decodeURIComponent })
const params = converter(path)?.params || {}
和参数类似于:{albumid: "10", photoid: "23"}
相关文章:
- 未捕获的InvalidValueError:setIcon:不是字符串;并且没有url属性;并且没有路径属性
- 如何将字符串附加到对象中'路径'在Javascript中
- 从javascript中的字符串路径获取文件名
- 从包含密钥路径的字符串中获取json值
- 绘制动画openlayers线条字符串路径
- 区分路径字符串和标记字符串
- 从路径字符串 - Javascript 获取所有父路径
- 通过document.location以javascript中的字符串形式传递文件路径
- 框架中的实用程序,用于更轻松地定义 SVG 路径字符串
- 创建独立于平台的路径字符串
- 如何有效地检查路径字符串是否是 jQuery 中另一个路径字符串的子项
- 根据路径字符串构建嵌套文件夹结构
- Regex for Windows路径字符串
- Node.js添加相对路径字符串到数组复制斜杠
- 在myObj.one.two.three.field中,当字段有2个或更多嵌套级别时,通过路径字符串获取对象字段
- Javascript正则表达式解析路径字符串
- 基于文件路径字符串创建对象
- 获取URL路径字符串中的最后一个值
- javascript正则表达式替换路径字符串中的3digitis
- 格式化路径字符串在javascript