草庐IT

regexp_like

全部标签

自动格式化 Pattern 的 JavaScript RegExp

我在stackflow社区看到很多格式化电话或数字(逗号和小数)的函数,比如这个问题here和别的。这是我想要的:第1步:为这样的模式维护库:varlibrary={fullDate:{pattern:/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/,error:"InvalidDateformat.UseYYYY-MM-DDformat."},fullDateTime:{pattern:/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}[0-9]{1,2}:[0-9]{1,2}$/,error:"InvalidDateTimeformat.UseYY

Javascript RegExp 非捕获组

我正在编写一组正则表达式来将CSS选择器转换为ID和类数组。例如,我希望'#foo#bar'返回['foo','bar']。我一直在努力实现这一目标"#foo#bar".match(/((?:#)[a-zA-Z0-9\-_]*)/g)但当非捕获前缀?:应忽略#字符时,它会返回['#foo','#bar']。是否有比对每个返回字符串进行切片更好的解决方案? 最佳答案 您可以在循环中使用.replace()或.exec()来构建数组。使用.replace():vararr=[];"#foo#bar".replace(/#([a-zA-Z

javascript - Regexp.match.length 如果找不到则返回 NULL

我有一个JS正则表达式。vart1=str.match(/\[h1\]/g).length;如果str包含单词[h1]它工作正常,否则它会显示错误!如何解决问题? 最佳答案 vart1=(str.match(/\[h1\]/g)||[]).length; 关于javascript-Regexp.match.length如果找不到则返回NULL,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

javascript - 更新 FB :Like URL Dynamically using JavaScript

我想使用JavaScript将URL更改为动态的FB:Like按钮。现在我只能更改fb:like标签的href属性(我已经粘贴了下面的代码)。但简单地更改href似乎不起作用。也许我必须重新启动FB:Like按钮,但到目前为止我还不知道如何......functionupdate_share(container,url){//updatefb:likehrefvaluevarcontainer=container[0]||document.body;varbutton=container.getElementsByTagName('fb:like');button[0].setAttr

javascript - 为什么相同的 RegExp 表现不同?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:InterestingtestofJavascriptRegExpRegularexpressiontestcan'tdecidebetweentrueandfalse(JavaScript)Exampleofissue.内联运行时,结果如我所料。但是当存储为变量时,它会跳过中间跨度元素。//InlineRegExpfunctiongetToggleClasses(){vartoggler=[],elements=document.getElementsByTagName("*"),i=0,len=eleme

javascript - 检查字符串是否是 Javascript RegExp 的前缀

我在Javascript中定义了一个正则表达式,现在用户正在输入一个字符串。我想告诉他,如果他继续输入或者他已经走错了路,他的字符串是否仍然可以匹配RegExp。例如:varre=/a*b/;"a".isPrefixOf(re);//true"x".isPrefixOf(re);//falseisPrefixOf的实现会是什么样子?更新:感谢您的回答,正如brad所建议的那样,使正则表达式成为前缀证明似乎是一个很好的解决方法。但我仍在努力寻找通用解决方案。也许这样:我们创建一个新的正则表达式,用户输入后跟.*。这个正则表达式描述了用户仍然可以输入的所有单词。如果这个创建的正则表达式和原

javascript - 性能问题 : String. 拆分然后在数组上走,还是RegExp?

我将在行分隔字符串上做一些工作。哪个更快,是先通过String.split拆分文本然后遍历结果数组,还是直接通过regexp遍历整个文本并在途中构建最终数组? 最佳答案 好吧,获得答案的最佳方法是花2分钟编写一个循环,双向执行一千次,然后检查firebug看看哪个更快;)在处理MXHR时,我不得不优化大量字符串处理,根据我的经验,在当前浏览器中,纯字符串方法比RegExp快得多。尽可能在最短的字符串上使用RegExp,并尽可能使用字符串方法。例如,我在当前代码中使用了这个小数字:varmime=mimeAndPayload.shif

javascript - 谷歌开发工具时间轴 : Forced reflow is likely performance bottleneck

我在页面中添加了视差效果。现在我遇到了性能和FPS方面的问题以及许多问题:-)我使用transform3d和requestAnimationFrame来实现它(像这样推荐http://www.html5rocks.com/en/tutorials/speed/animations/)。我的代码是这样的:window.addEventListener('scroll',function(){latestKnownScrollY=window.scrollY;});functionupdateParallax(){vary=latestKnownScrollY*0.4;element.st

javascript - 更改 RegExp 标志

所以基本上我自己编写了这个函数,以便能够计算字符串中子字符串的出现次数:String.prototype.numberOf=function(needle){varnum=0,lastIndex=0;if(typeofneedle==="string"||needleinstanceofString){while((lastIndex=this.indexOf(needle,lastIndex)+1)>0){num++;}returnnum;}elseif(needleinstanceofRegExp){//needle.global=true;returnthis.match(nee

javascript - 防止污染 JavaScript 中 RegExp 构造函数的属性

这是个难题,我知道如何解决它,但我想知道是否有(更)简单的方法。简而言之,无论何时在JavaScript中执行正则表达式,都会在RegExp构造函数中为某些属性赋值。例如:/foo/.test('football')//->trueRegExp.input//->"football"RegExp.rightContext//->"tball"我想在不影响这些属性的情况下执行正则表达式。如果那不可能(我认为不可能),我想至少在之后将它们恢复到以前的值。我知道input/$_是可写的,但大多数其他的似乎不是。一种选择可能是重建一个正则表达式来重新应用所有这些值,但我认为这会非常困难。我想要