Articles of expression

剥离HTML到允许的标签

我想删除所有的HTML标签(但不是内容),除了在列表中给出的。 我想用Node来做这个。 下面的正则expression式可以匹配标签<[a|br].+?>|<\/[a]>但是我怎样才能删除除匹配的标签外的所有标签?

req.session不存储数据

我试图实现一个login系统,用户可以注册到一个网站,然后用他的帐户login。 一旦用户login,他可以编辑他的个人信息。 要检查用户是否login,我试图将req.session.isLoggedIn设置为true ,然后检查该值是否为true以访问网站的某些区域。 问题是,刚刚login之后,我打印了req.session的值,并看到刚设置的值,但在此之后,当我尝试在另一个路由中检查req.session.isLoggedIn的值时,我得不到值。 这是我的代码: const express = require('express'); const app = express(); var { Client } = require('pg'); var bcrypt = require('bcrypt'); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); var cors = require('cors'); var path = require('path'); var session = require('express-session'); var url = require("url"); app.use(cors()); app.use(express.static(path.join(__dirname, 'client/build'))); app.use(cookieParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: […]

ES6用Regex过滤一个数组

我试图过滤包含一堆url的数组。 我需要返回只包含单词“联系人”的url。 例如,有一个链接https://www.example.com/v1/contact-us/ca 这应该从filter返回。 我试过这个: const regex = new RegExp("/\bcontact\b", 'g' ) sites.links.filter((val) => { console.log(regex.test(val.href)) }) 当我知道有一个域包含单词“contact”时,它现在只是通过所有域返回false。

如何匹配一个string的结尾不能加上

我有一个正则expression式,如下所示: if (string.match(/([0-9]+\-[0-9]+)\s*\,?\s*([0-9]+\-[0-9]+)\s*(mon|tues|wed|thu|fri|sat|sun)/ig)) { string = string.replace(/([0-9]+\-[0-9]+)\s*\,?\s*([0-9]+\-[0-9]+)\s*(mon|tues|wed|thu|fri|sat|sun)/ig, "$3 $1 , $3 $2") } 抓住以下模式: 1- 8-20 15-19 sat, 2- 8-10 14-18 tue 3- 8-15 18-20星期五地铁 但不是这些情况:“8-10 14-20 tues + fri + sat-fr”或“8-10 14-20 tues + fri” 有人能帮我吗? 谢谢

在NodeJS中不存在logging时捕获MySQL错误

我想弄清楚如何在数据库logging中找不到请求的id时发生错误。 我的代码是 router.get('/users/:id', function(req, res) { getId = req.params.id db.con.query('SELECT * FROM employees where id=?', getId, function(err, results) { if (err) { console.log('error in query') return } else { obj = { id: results[0].id, name: results[0].name, location: results[0].location //error should be catched here when a requested results[0].id is not found } res.render('showuser'); } }) }); […]

javascript正则expression式单行

我试图用一个单一stringreplace所有@importstring,例如 var str = 'buttons .reprint{height:56px;background-position:-47px -1496px;}@import "../common/buttons.css";@import "../screen/screen-1.css";@import "../screen/screen-2.css";@import "../screen/screen-3.css";@import "../screen/screen-5.css";@import "../screen/screen-6.css";@import "../screen/screen-7.css";@import "../screen/screen-quick-messages.css";@import "../screen/reset-password.css";#xml-data{display:none;}body{font-family:"Helvetica Neue",HelveticaNeue,Helvetica-Neue,Helvetica,sans-serif;}ul{padding:0;}body,section{width:768px;}'; 它可以工作,如果我写: console.log(str.match(/@import\ /g)); 但是如何在单行中指定所有@import声明,例如@import "../screen/screen-1.css"; console.log(str.match(/@import\ .+;/g)); 不起作用。

Express.js,Node.js Jade – 遵循expressjs.com教程,并获取错误

那么我试图进入Node.js / Express.js – 但我已经有一些问题正在通过屏幕录像,第一个问题,现在解决,是非常明显的,当它被发现( Express.js,节点.js Jade vim )。 但是,我现在收到以下错误: performance 500 SyntaxError:意外的标识符 *在Object.Function(未知来源) *在Object.compile(/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:230:10) *在ServerResponse._render(/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:368:22) *在ServerResponse.render(/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:234:17) *在对象。 (/home/duncan/helloExpress/app.js:46:7) *在nextMiddleware(/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:139:34) * at param(/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:147:16) *通过(/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:155:10) *在Object.router [作为句柄](/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:161:6) *在下一个(/usr/local/lib/node/.npm/connect/1.4.0/package/lib/http.js:204:15) 我的app.js代码如下:声明对象的用户数组 var users = [ {名称:'Duncan',电子邮件:'duncan@email.com'}, {姓名:'Bob',电子邮件:'bob@email.com'} ]。 和…调用和呈现新的users.jade的位 app.get('/ users',function(req,res){ res.render('users',{ 用户:用户 }); }); 我不知道我今天是否只是盲目的,但我真的希望得到这个例子的工作。 NB。 app.js 46:7是'res.render'字符7是。 在res和render之间。 – 从错误消息。 users.jade文件如下所示: h1用户 UL#用户 – 用户中的每个用户 li […]

在node.js中传递expression式资源的引用?

我如何通过例如数据库引用 nano = require('nano')('http://127.0.0.1:5984') db = nano.use('database') 到资源“用户”(加载快速资源 )? 我试过了: app.resource('user', require('./routes/user'), {db: db}); 但是这不起作用。

Express和ajax使用JQuery发布

Express似乎没有回应我的ajax请求。 当我在chrome检查器的networking选项卡中查看后,请求状态显示为长时间未决,然后失败。 这是我的快递代码: app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.cookieParser()); app.use(express.session({secret: 'fasfasasasfasfa'})); app.use(passport.initialize()); app.use(passport.session()); app.use(express.session()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); app.post('/test.html', function (req,res) { console.log(req.body); res.send({ some: JSON.stringify({response:'json' })}); res.end(); }) 这是我的jQuery代码: working = function() { console.log("works") } $.ajax({ url:"test.html", data: {'name':'hello'}, type: "POST", success: working […]

麻烦组织expressjs路线

我正在跟随这篇文章 ,这篇文章描述了一种快速组织路线的好方法。 我遇到一个问题,虽然当我尝试访问我从我的main.js文件导出的函数。 当我curl“本地主机/用户/用户名”时,我得到一个404错误 //the routes section of my my app.js file app.get('/', routes.index); app.get('/user/:username', routes.getUser); //my index.js file require('./main'); require('./users'); exports.index = function(req, res) { res.render('index', {title: 'Express'}); }; //my main.js file exports.getUser = function(req, res){ console.log('this is getUser'); res.end(); }; —-编辑我的解决scheme—- 这是我一起去的解决scheme,也许有人会觉得它有用。 我也很乐意听取有关今后是否会给我带来什么问题的build议。 //——-The routes in my app.js file now look like this. […]