Tag: expression

使用req.files上传文件不能使用Express 4.x

我的应用程序与file upload工作良好的Express 3.x,但升级后expression模块4.x,它不再工作。 search后,我知道原因,因为处理multipart / form-data请求的中间件身体数据被从bodyParser中间件中移除。 然后我试图安装multer ,但不能安装它,下面的错误:npm ERR! 错误:找不到兼容版本:busboy@'^0.2.6'npm ERR! 有效的安装目标: 那么接下来我可以用我的应用程序做什么,我真的想使用快递4.x,任何人都可以帮我吗? 谢谢。

Javascript:正则expression式转义空间

我有一个在UNIX上的空间的目录,所以空间是backslashed。 我需要用分号来replace反斜杠的空格。 尝试了多个正则expression式,但无法find答案 var str = '/test\ space/a.sh -pqr'; 所以我期待得到这个后replace/test.space/a.sh -pqr console.log("replace: ", str.replace(/\\\s+/g, ";")); //This one doesn't work, (formatting is taking out one backslash)

正则expression式从数据中获取特定的string

我有以下数据 List of devices attached 192.168.56.101:5555 device product:vbox86p model:Samsung_Galaxy_Note_2___4_3___API_18___720x1280 device:vbox86p 192.168.56.102:5555 device product:vbox86tp model:Google_Nexus_7___4_3___API_18___800x1280 device:vbox86tp 从这个数据我想searchS amsung_Galaxy_Note_ 2并且重新调用其对应的192.168.56.102:5555 如何使用正则expression式

Sails.jsauthentication用户的单个实例

我想只允许login一个用户的一个实例。如果我在这台计算机上login,然后去另一台计算机login,应该销毁以前的会话。 我怎样才能做到这一点? 我如何访问所有的会话,所以我可以销毁正确的,或确保会话的用户ID是唯一的? 我所见过的访问会话的唯一文档是关于req.session ,它只针对当前会话。

Javascript自定义正则expression式:1个字母+ 1个数字(点)1个数字

用Node JS如何正则expression式xy.y如下: x = 1 letter [az] (lowercase) y = numbers [0-9] 例: a13.41 //=> true 这不是工作在节点JS(工作在PHP虽然): /^[az][0-9]+[.]+[0-9]+\z/.test(string)

Express.js:调用内部服务

我对node.js,express.js和REST API有点新。 这是我的问题: 我需要从我的数据库(mongoDB,如果相关的话)加载用户信息在多个情况下。 这种情况下的最佳做法是什么? 1)直接从数据库中加载: index.js: db.collection('usercollection').findOne({email: req.user.email}, function(err, result){… 2)从另一个从数据库读取的路由调用服务: users.js: /* GET user by email */ router.get('/:email', function(req, res) { var db = req.db; var email = req.params.email; db.collection('usercollection').findOne({email: email}, function(err, result) { if (err) throw err; res.json(result); }); }); index.js: //呼叫用户/电子邮件/ emailParameterURL 3)这两个都没有? 谢谢你的时间

正则expression式只返回第一个匹配?

我有一个包含很多行的文本文件,我正在过滤它们来查找我需要的内容,例如: HBIJB LX 0359 25Aug14 07:37 这是我的正则expression式: /(?:(HB…)\s(LX|WK)\s((?:[0-9]){1,4})\s((?:[0-9]){2}(?:[AZ,az]){3}(?:[0-9]){2})\s((?:[0-9]){2}:(?:[0-9]){2}))/g 我的问题是它只返回文件中的第一个匹配项: [ 'HBIJB LX 0359 25Aug14 07:37', 'HBIJB', 'LX', '0359', '25Aug14', '07:37', index: 323, input: /* Omitted */ ] 答案是完美的,但是为什么我只能得到第一个匹配,即使我使用了全局/g标志? 编辑: 我正在使用NodeJs,而脚本是没有什么奇特的: var regex = /(?:(HB…)\s(LX|WK)\s((?:[0-9]){1,4})\s((?:[0-9]){2}(?:[AZ,az]){3}(?:[0-9]){2})\s((?:[0-9]){2}:(?:[0-9]){2}))/g console.log(regex.exec(data)); 编辑2: 这里是我需要过滤的内容的外推。 Lorem Ipsum Ø HBIJB LX 0359 25Aug14 07:37 HBIPV LX 2092 25Aug14 09:09 Lorem Ø HBIJB LX 1404 […]

async.series:可变数量的callback

我正在使用Node.js(Express)和MongoDB(mongooseJS)。 我想要创buildasynchronous函数(一个接一个地,以正确的顺序查询数据库); 问题是:如何创build可变数量的async.series函数,如下所示: var supply = [0]; async.series([ function(callback) { Model.find({ color: user.color[supply] }).exec(callback); }, ],function(err, results){ res.send('Chosen colors: ' + results); }); 如果 – 可以说 – 可变电源= [0,1,2], 那么callback函数将被放置三倍,0,1和2放置在那里: var supply = [0, 1, 2]; async.series([ function(callback) { Model.find({ color: user.color[supply] }).exec(callback); // supply = 0 }, function(callback) { Model.find({ color: user.color[supply] }).exec(callback); // […]

如何防止使用variables时切换正则expression式testing?

我只注意到以下奇怪的行为(无论是在浏览器和nodejs中 : > a = /^\/foo/g /^\/foo/g > a.test("/foo") true > a.test("/foo") false > a.test("/foo") true > a.test("/foo") false > a.test("/foo") true 我们这里有什么疯狂的科学? 我怎样才能防止这种行为? 我只想要一个正则expression式variables,检查一个string是否与全局匹配。 文档页面似乎没有带来一些光线…我真的很感激链接到文档参考。

replace为JavaScript中的单个反斜杠?

我正在使用Node.js创build一个乳胶模板系统。 作为这个系统的一部分,我需要通过给它们加一个反斜杠,来转义任何带有特殊含义的字符。 我读过双反斜线用来插入文字反斜线: > var input = "hello & 100%" > input.replace(/([&%$#_{}])/g, "\\$1") 'hello \\& 100\\%' 不。 我也读过,因为它是在一个string内,我需要双重逃避反斜杠: > input.replace(/([&%$#_{}])/g, "\\\\$1") 'hello \\\\& 100\\\\%' 不。 而只使用一个反斜杠也不会这样做: > input.replace(/([&%$#_{}])/g, "\$1") 'hello & 100%' 那么我该如何使用replace()插入一个反斜杠?