javascript - 验证 const String 加上任何变量文本
问题描述
我在 nodejs 中使用 express 的中间件来验证路由是否不同于'login'或'signin',但我还需要验证它是否不同于激活路由加上我的令牌('/api/activation/+token '),也就是说,我有以下内容:
If(req.path ¡= '/api/login' && req.path != '/api/signin'){
//execute verification middleware
}else{
//allow access to the route
//exclude verification
}
所以我还需要从验证中排除激活路径和我的令牌。它的工作方式如下:
//(assuming eyJajau is my token)
If(req.path ¡= '/api/login' && req.path != '/api/signin' && req.path != '/api/activate/eyJajau'){
//execute middleware
} else{
//allow access to the route
}
但问题是令牌每次都会更改,所以我需要在我的“if”语句中验证字符串是否与我的路径以及任何单词不同,它会是这样的:
/api/activation/ + any word and number
换句话说,每个包含 '/api/active/' 的 Sting 以及应该进入“élse”语句的任何内容我认为它可能是正则表达式,但我不知道如何。
所以我需要验证 req.path 与激活路径和任何 Sting 不同。
解决方案
要排除/api/activation/
后跟任何字符或数字的请求,您可以使用以下正则表达式:/\/api\/activate\/\w+/
。我还将反转逻辑,因此您的代码可能类似于:
if (req.path === '/api/login' ||
req.path === '/api/signin' ||
/\/api\/activate\/\w+/.test(req.path) {
// allow access
} else {
// validate/verificate request
}
推荐阅读
- javascript - 单击两次单击以更新状态
- python - 如何在不打开新标签(python)的情况下更改 Selenium 中的 URL?
- spring - 我可以在 Spring 应用程序中创建多个 ServicelocatorFactoryBean 实例吗?
- java - 我正在尝试从 JAVA arraylist 创建 JSON 对象并将其存储在单个 JSON 数组中,但得到 NullPointer 异常。在正文中添加信息
- reactjs - 当从父级传入的 props 发生变化时,React 子组件不会重新渲染
- swift - Vapor 是否支持从 HTML 表单中删除?
- reactjs - 有没有办法在 React JS 的功能组件中定义钩子状态中的值的数据类型?
- python - 在两个文字python之间匹配正则表达式
- amazon-web-services - 未进行任何更改,但出现 AWS 502 网关错误
- arrays - 读取字符串并使用 ; 将其转换为数组 作为新项目