Tag: expression

ExpressJS的路线正则expression式:如何将一个参数与一条路线以外的所有东西进行匹配

我有一个路由定义这样的code参数: app.get('/:code([a-zA-Z]{3})', codeHandler); 它匹配三个字母的所有代码,并且工作正常。 但我想改变它以匹配除一个之外的每个代码。 例如,可以说我想排除“cct”。 我试图使用负面的前瞻从路由通过修改上述匹配程序行使“cct”像这样: app.get('/:code((?!cct)[a-zA-Z]{3})', codeHandler); 但现在这条路线不匹配任何东西。 即使以前被捕获的有效代码现在也不匹配。 我不知道我在做什么错。

与HTML标签反向匹配

使用NodeJS ,我有以下正则expression式: /<[^>]*>/g匹配HTML标签:( 现场演示 ) 我想反转比赛,所以它会捕捉文字,我已经尝试了负向前瞻的方法,没有运气。 编辑我避免拆分方法,因为我需要匹配的索引 JS有可能吗?

在Node.js Web-Server中确定用户angular色并授予API访问权限的正确方法是什么?

我在Node.js-express中有一个带有REST API的Web服务器。 我有不同的API暴露,我使用OAuthauthentication用户。 一旦我确定用户我检索他的angular色,并决定授予一个API的权限。 问题是我所有的API都重复了代码,他们都必须检查angular色并确定权限。 有没有更好的方法来做到这一点? 我应该看ACL吗? 一般来说,我是Web服务的新手,可能不知道最好的解决scheme。 谢谢。 示例代码: var accessCallback = function (err, user) { if(err == null) { var userRole = getUserRole (user.role_id); if(userRole == ROLE.SUPERVISOR || userRole == ROLE.MANAGER || userRole == ROLE.EMPLOYEE){ doStuff(); //business logic } else { response.status(400).send (error.UserAccessDeniedError()); } } else { response.status(500).send(error.DatabaseError(err)); } }; access.determineUser (req.body.tokenID, accessCallback);

在使用Angular2时,我们需要Node.js和Express.js吗?

我使用以下内容构build了一个示例Web应用程序 – angular2 打字稿 ASP.Net WebAPI 2 Mongo DB 噶/茉莉 Node.js(仅作为服务器,仅在Angular2快速入门指定的范围内) 考虑到以上技术堆栈,我们是否需要使用Node.js或Express.js来构build生产Web应用程序? 上述任何技术是否可以使用Node / Express进行replace,以获得更好的性能/内存利用率/代码可维护性/更快的开发?

无法使用PUT方法(Express&Angular)

我用MEAN Stack创build了一个REST Api和一个客户端框架。 在当地工作之后,我在Heroku上部署了API。 在我的Express路线中,我处理res.headers以便CORS应该工作: app.use('*', function(req, res, next){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); if(req.method === "OPTIONS") { res.header("Acces-Control-Allow-Methods", "GET, PUT, POST, DELETE"); return res.status(200).json({}); } next(); }); 在客户端,我处理了req头文件: app.factory('dataServices', function($http) { return { //Get the location information from API getAll: function() { return $http({ method: 'GET', url: url }) }, get: function(id) […]

正则expression式中的“OR”运算符

我需要“/”和“/ home”path, 将用户指向同一页面 (“/ home”)。 我怎么可以用正则expression式写在快速路由 。 我试过这个: router.route('/|/home') 但它不起作用。

如何使用nodejs从项目/特定位置下载文件?

这可能是一个愚蠢的问题,但我迷路了,我的要求是我应该能够下载一个单击事件的Excel模板,我想我会把该模板放在我的后端代码文件(而不是dynamic生成)并下载。 那有可能,如果是的话,怎么样? 我正在使用快递和节点。

匹配和从string中提取信息的特定模式

我需要能够识别string,如果它匹配以下模式: ':module-name'|| 'com.example.ClassName'|| ':module-name:com.example.ClassName'|| ' http:// url '; 我需要确定string是否匹配上述模式之一,让我们将它们分成3组(url,local和none),其中url代表有效的urlstring。 另一方面,本地必须有3个不同的变体(':module-name'||'com.example.ClassName'||':module-name:com.example.ClassName')如果这是我需要的情况提取模块和组件名称。 模块名称必须是有效的nodejs包名称,组件名称必须是有效的类名称(我已获得此RegExp已覆盖的有效类名称:/ ^ @?[a-z_A-Z] \ w +(?:。 @?[A-z_A-Z] \ w +)* $ /)。 我需要的是一种方法来确定string属于哪个组(本地或无),在本地的情况下,提取模块和组件名称。 正则expression式解决scheme的最佳… 谢谢

js区分正则expression式捕获组

javascript / node.js中有一种方法来区分由正则expression式创build的捕获组吗? 例如,正则expression式: /([AZ]+\[[^\]]+])|(\d+)/g : 9 and 4687 matches but not NUMBER[9] or NUMBER[9568] However, [401] should match…将创build两个捕获组: 第1组:第NUMBER [9]和NUMBER [9568] 第2组:9,4687和401 我想要的是在我的文字上添加NUMBER[]周围的标签NUMBER[] 。 有没有办法像text.replace(regexp, 'NUMBER[$&]', SECOND_GROUP) ? 编辑:输出将是NUMBER[9] and NUMBER[4687] matches but not NUMBER[9] or NUMBER[9568] However, [NUMBER[401]] should match…

通过NodeJS / Webix在MongoDB中添加数据

这是我在堆栈溢出的第一篇文章,我希望能得到帮助,就像我可以帮助某人,如果需要的话。 我试图做我自己的数据库用户界面友好的添加/编辑/ Del值在我的数据表中。 我可以编辑/从我的MongoDB中 删除数据,但我不能从我的HTML页面的数据添加任何东西。 如果你可以看到错误的东西(现在我迷路了): 我想我的问题已经在我的添加部分中进行了本地化,因为当我尝试从UI添加一些东西到我的数据库时,我的terminal中出现了BLABLABLA错误消息。 var express = require('express'); var path = require('path'); var bodyParser = require('body-parser'); //connect to the mongo var db = require('mongoskin').db("mongodb://localhost/TESTING", { w: 0}); db.bind('test2test'); //create the app instance var app = express(); //serve static files app.use(express.static(path.join(__dirname, 'public'))); //parse POST data app.use(express.json()); app.use(express.urlencoded()); //response for saving operations function after_update(err, […]