jjzjj

javascript - 使用 .match 和 .search 的区别

我为coderbyte使用了以下代码:functionVowelCount(str){//codegoesherereturnstr.match(/[aeiou]/gi).length;}//keepthisfunctioncallhere//toseehowtoenterargumentsinJavaScriptscrolldownprint(VowelCount(readline()));我理解大部分代码,除了以下部分:正斜杠和方括号的作用是什么?gi有什么作用?search()和match()有什么区别?我应该在什么情况下使用什么? 最佳答案

javascript - Regex.prototype.exec 在搜索的第二次迭代中返回 null

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭6年前。用例我想在一个字符串中搜索多个匹配项。每个匹配最终都链接到对象数组中的对象属性。找到匹配项后,该匹配项将替换为对象中的另一个属性。问题是代码将始终在第二个匹配项上返回null。测试用例这是我正在使用的测试用例。为了简化问题,我只是将所有匹配项替换为数字5,但请注意,最终代码会将匹配项替换为一个变量值。测试代码下面是我用来测试和调试问题的代码。有趣的是,如果我更改varstr='5+QUESTION_2',QUESTION_2会成功替换为5。本质上

javascript - 使用 document.body.innerHTML.replace 有多安全?

正在运行类似:document.body.innerHTML=document.body.innerHTML.replace('旧值','新值')危险吗?我担心某些浏览器可能会搞砸整个页面,并且由于这是将放置在我无法控制的站点上的JS代码,谁知道哪些浏览器可能会访问我有点担心.我的目标只是在整个body中寻找一个字符串的出现并替换它。 最佳答案 绝对有潜在危险-特别是如果您的HTML代码很复杂,或者如果它是其他人的HTML代码(即它是CMS或您创建可重用的javascript)。此外,它还会销毁您在页面元素上设置的所有事件监听器。用

JavaScript(正则表达式): excluding matches from output

我有这个文本:nisinontext600elit其中600是动态添加的。我怎样才能得到它?varstr=('nisinontext600elit').match(/text\d+/);alert(str);这会提醒text600,我如何才能只提醒600而无需额外替换单词text(如果可能的话)?感谢任何帮助,谢谢! 最佳答案 varstr=('nisinontext600elit').match(/text(\d+)/);alert(str[1]); 关于JavaScript(正则表达

javascript - 不能将 String.prototype.match 用作 Array.some 的函数吗?

这行不通:vars='^foo';console.log(['boot','foot'].some(s.match));UncaughtTypeError:String.prototype.matchcalledonnullorundefined但是这样做:vars='^foo';console.log(['boot','foot'].some(function(i){returni.match(s)}));这是为什么?我以某种方式想象String.prototype.match函数太“原始”之类的,但究竟是为什么呢?因为我没有使用ES2015,所以第二个版本看起来很冗长。有替代方案吗

javascript - 从组正则表达式中删除逗号

是否有可能由此产生:美国专利6,570,557检索3个组:美国专利6570557(没有逗号)到目前为止我得到:(US)(\s{1}Patent\s{1})(\d{1},\d{3},\d{3})并尝试(?!,)去掉逗号,然后我有效地去掉了整个数字。 最佳答案 尝试:varinput='USPatent6,570,557',matches=input.match(/^(\w+)(\w+)([\d,]+)/),code=matches[1],name=matches[2],numb=matches[3].replace(/,/g,'');

javascript - Sequelize : Find All That Match Contains (Case Insensitive)

我想使用sequelize.js查询模型以获取包含约束的记录。我该怎么做?这是我现在拥有的:Assets.findAll({limit:10,where:["asset_namelike?",'%'+request.body.query+'%']}).then(function(assets){returnresponse.json({msg:'searchresults',assets:assets});}).catch(function(error){console.log(error);});但我收到以下错误:{error:operatordoesnotexist:charact

javascript - 为什么 String.match(/\d*/) 返回一个空字符串?

有人能帮我理解为什么使用\d*返回一个包含空字符串的数组,而使用\d+返回["100"](如预期的那样)。我明白为什么\d+有效,但不明白为什么\d*不起作用。使用*会导致它返回零长度匹配吗?它究竟是如何工作的?varstr='oneto100';varregex=/\d*/;console.log(str.match(regex));//[""] 最佳答案 请记住,match正在寻找它可以找到的与给定正则表达式匹配的第一个子字符串。*意味着可能有零个或更多的东西,所以\d*意味着你正在寻找一个包含零个或多个数字的字符串。如果您输入

div 标签的 JavaScript 正则表达式

我有一个保存HTML页面的JavaScript变量,由于设置的原因,我需要提取之间的所有内容。和使用JavaScript从该变量。非常感谢任何帮助。 最佳答案 varhtml="hellostackoverflow!";varmatches=html.match(/[\S\s]*?/gi);varmatches=matches[0].replace(/(]+>)/gi,'');//StripHTMLtags?alert(matches); 关于div标签的JavaScript正则表达式,

javascript - 我如何在 jQuery 中使用 preg_match?

我可以使用preg_match来验证jQuery中的电话号码吗?这是我的代码,它不起作用:if(!preg_match("/^[0-9]{3}-|\s[0-9]{3}-|\s[0-9]{4}$/",phone.val())){phone.addClass("needsfilled");phone.val(phonerror);}HTML 最佳答案 Javascript包含一个正则表达式引擎,可通过string.match()、string.replace()和string.split()函数。例如:varmystring="this