如何在 JavaScript 中使用正则表达式测试路由

How to test routes using regEx in JavaScript

我的 Node Js 单页面应用程序中有一些路由在没有页面加载的情况下更新。我想使用 regEx 测试一些路由以获得路由的完美匹配。

我在 switch 语句中有 /index/contact/products

    switch(window.location.pathname)
        case '/index':
            break;
         case '/contact':
            break;
         case '/products':
            break;
    default:
            //Returning error page if none of pathname met
             break;

如何让用户访问 /products/iphone/products/:brandName/:productId 并能够获取 :brandName:productId in JavaScript 在 vanilla JavaScript

中使用正则表达式

您可以这样做 - 因为路径名的“部分”总是由 / 分隔,所以不需要 regex 的复杂性 - 一个简单的 .split会做的很好

// the leading , is NOT a typo
const [, root, ...rest] = location.pathname.split('/');

switch (root)
case '/index':
    break;
case '/contact':
    break;
case '/products': {
        const [brandName, productId, ...more] = rest;
        // brandName and productId will be the first two parts of the path after /products
    }
    break;
default:
    //Returning error page if none of pathname met
    break;