草庐IT

Preg_match_all

全部标签

javascript - Express.js 和 multer : how to know when the files are all uploaded?

我正在使用Multer模块进行文件上传。虽然一切正常,但在他们的github页面末尾有一条警告,内容如下:“警告:req.body在文件上传完成后被完全解析。过早地访问req.body可能会导致错误。”这让我非常担心。我只是找不到让.post中间件知道文件何时上传并且req.body可以使用的方法。这是我的代码:应用程序.js:app.use(multer({dest:'./uploads/',rename:function(fieldname,filename){returnfilename.replace(/\W+/g,'-').toLowerCase()+Date.now();}

javascript Promise.all 只返回最后一个 promise

我有一个这样的脚本:vara=[{'a':1},{'b':2}]varallPromises=newArray(a.length)for(variina){allPromises[i]=Promise.resolve().then(response=>{console.log(i)console.log(a[i])//Dosomethigoneveryloopwithkeyandvaluereturni})}Promise.all(allPromises).then(response=>console.log(response))在我的for循环中,它只给我最后一个索引和最后一个索引的

javascript - Promise.all() 使用 Backbone 解决 IE 11

背景:我的任务是帮助解决出现以下错误的问题:'Promise'isundefined'这是我们的sessionsmodel.js脚本的一部分:returnPromise.all(promises);promises是一组需要发生的操作,如果有任何失败,它将被拒绝。问题:根据我的研究,IE不支持Promise那么是否有解决方法可以应用于此返回值来完成同样的事情? 最佳答案 由于您使用的是Backbone,所以promise可能是jQuerypromise。你可以使用jQuery.whenfunction与Promise.all相同:r

javascript - Google-diff-match 避免显示新行?

我正在使用差异匹配http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html显示2段html之间的差异。问题是脚本将新行显示为¶有什么办法可以设置不显示吗?现在我只是删除所有\n和\r的实例,但这听起来不太好 最佳答案 正如您在文档中所见,prettyhtml函数只是开发一些很酷的ui的示例。但是,如果您将函数中的¶(¶)替换为null,该符号将消失。diff_match_patch.prototype.diff_pret

javascript - 一旦所有嵌套的 promise 都解决了,就触发 Promise.all()

我正在尝试使用他们的FirebaseAPI递归地获取HackerNews故事的所有评论。一个故事有一个kids属性,它是一个表示评论的ID数组。每个评论都可以有自己的kids属性,指向它的子评论,等等。我想创建一个包含整个评论树的数组,如下所示:[{'title':'comment1','replies':[{'title':'comment1.1'},{'title':'comment1.2''replies':[{'title':'comment1.2.1'}]}]}]我想我可以使用以下函数来做到这一点:functiongetItem(id){returnapi.child(`it

使用 val().match() 方法的 Javascript 正则表达式

我正在尝试使用以下规则验证名为phone_number的字段:第一个数字应该是3,然后是另外9个数字,所以总共10个数字示例:3216549874或者可以是7个数1234567这里有我的代码:if(!($("#"+val["htmlId"]).val().match(/^3\d{9}|\d{7}/)))missing=true;为什么不起作用:(当我将其放入在线正则表达式检查器时显示正常。 最佳答案 您应该使用测试而不是匹配,这是正确的代码:.test(/^(3\d{9}|\d{7})$/)Match会找到所有出现的情况,而test

javascript - promise.all 是如何工作的?

我开始深入研究promises并发现有趣的Promise.all。在MDN中声明ThePromise.all(iterable)methodreturnsapromisethatresolveswhenallofthepromisesintheiterableargumenthaveresolved.这基本上意味着设置promise在参数列表中的所有promise都已解决之后解决。我试图实现它。我简单地promise了ajax调用。varget=function(url){returnnewPromise(function(resolve,reject){varxhtml=newXML

javascript - document.documentElement 与 document.all

谁能告诉我这两个JavaScript命令之间的区别?这两个跨主要浏览器的兼容性是什么?我知道documentElement与大多数浏览器兼容。谢谢 最佳答案 document.documentElement是对文档根元素的引用,通常是标签。document.all是一个集合类型,包含文档中所有子标签的枚举。它是特定于IE的,应该避免用于跨浏览器脚本。document.documentElement是DOMLevel2,因此现在几乎可以在任何主流浏览器中使用。 关于javascript-d

javascript - react native : ListView not displaying all rows

我试图在ReactNativeListView中显示行列表,但它只显示适合单个屏幕的条目,即我无法向下滚动以查看更多行。样式如下:styles=StyleSheet.create({container:{flex:1,marginTop:60},rowContainer:{flexDirection:'row',justifyContent:'space-around'}})ListView:return({this.getHeader()})行:return({text})我做错了什么? 最佳答案 我有同样的问题,发现外面有包装V

javascript - 学习 JavaScript : display all firstnames with B as first letter

我是第一次学习JavaScript,我想知道为什么我的代码不起作用。我有Python/Django知识。目标:我必须创建一个姓名列表,并且我必须只显示以“B”字母开头的名字。我的脚本:varlistNames=['Paul','Bruno','Arthur','Bert','José']for(variinlistNames){if(i.substr(0,1)==='B'){console.log(i);}}但是这段代码没有显示任何东西。 最佳答案 您需要使用listNames[i]作为i为您提供数组listNames的index。