草庐IT

the_string

全部标签

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

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

javascript - Learnyounode #6 使其模块化 : correct results AND throwing error at the same time?

我正在完成nodeschool.iolearnyounode练习#6,makeitmodular。我得到了正确的结果,但仍然有一段我不熟悉的代码出错。任何帮助都会很棒。这是结果和错误:Yoursubmissionresultscomparedtotheexpected:ACTUALEXPECTED────────────────────────────────────────────────────────────────────────────────"CHANGELOG.md"=="CHANGELOG.md""LICENCE.md"=="LICENCE.md""README.md"

javascript - 为什么 string.replace(/\W*/g ,'_' ) 在所有字符前加上?

我一直在学习js中的正则表达式,遇到一个我不明白的情况。我使用以下正则表达式对替换函数进行了测试:/\W*/g并期望它在字符串的开头添加前缀并继续替换所有非单词字符。TheNumberis(123)(234)会变成:_The_Number_is__123___234_这将在字符串前面添加,因为它至少有零个实例,然后替换所有不间断空格和非单词字符。相反,它在每个字符前加上所有非单词字符。_T_h_e__N_u_m_b_e_r__i_s__1_2_3__2_3_4__为什么要这样做? 最佳答案 问题是\W*的意思。它的意思是“0个或多个

javascript - 谷歌地图圈 : how to trigger an event when moved and how to obtain the new center

所以我能够在我的谷歌地图v3上制作一个圆形对象作为叠加层。我将其可编辑属性设置为true。接下来我想做的是在用户移动圆圈时获取圆心的坐标。为此,我需要某种响应事件而触发的方法。我以为我已经在初始化函数中设置了这一切,如下所示。但是,我没有收到任何警告框。所以我假设这个响应事件的函数没有被触发。functioninitialize(){cityCenterLatLng=newgoogle.maps.LatLng(cLat,cLong);options={center:cityCenterLatLng,zoom:15,mapTypeId:google.maps.MapTypeId.ROAD

javascript - JS : how to shift each letter in the given string N places down in the alphabet?

如何将给定字符串中的每个字母在字母表中向下移动N位?标点符号、空格和大小写应保持不变。例如,如果字符串为“ac”且num为2,则输出应为“ce”。我的代码有什么问题?它将字母转换为ASCII并添加给定数字,然后从ASCII转换为回字母。最后一行替换空格。functionCaesarCipher(str,num){str=str.toLowerCase();varresult='';varcharcode=0;for(i=0;i我得到了TypeError:charcode.fromCharCodeisnotafunction 最佳答案

Javascript string.search() 多个实例

如何从字符串搜索的多个实例中检索多个索引?varstr="food";varindex1=str.search("o");//1varindex2=str.search("o");//?非常感谢,文 最佳答案 我认为对非平凡长度的字符串执行此操作的最佳方法是RegExp.exec()function:varstr="Foooooooood!",re=/o/g,match;while(match=re.exec(str)){console.log(match.index);//logs1through9}

javascript - 将 String 文字提取为 Javascript 中的常量是最佳实践吗?

在Java中,我认为最好的做法是在任何时候在多个地方使用字符串文字并期望它们匹配时,用常量变量替换字符串文字。例如,如果您要设置一个cookie,然后再读回它,则cookie的名称应该是一个常量,这样编译器可以帮助您捕获拼写错误,更不用说允许您有一个可读的变量名称与字符串的实际值。我正在审查JavaScript中的一些类似代码,我倾向于建议将文字替换为常量。但是,我不确定同样的原因是否适用,因为没有编译器并且cookie名称与变量名称一样具有描述性。编辑:关于到目前为止收到的评论和回复,我肯定更关心常量的使用而不是它们的实际实现方式。我将它们在Java和其他编译语言中的值(value)

javascript - 如何禁用 "do you want to view only the webpage content that was delivered securely"警告?

我的网站有完整的https及其使用的外部jquery资源,即http。在IE8中,当我重定向网站时,它给我“您只想查看安全传送的网页内容”警告如何避免这种情况?有没有什么脚本可以解决这个问题?提前致谢。 最佳答案 似乎有两个可能的问题区域,您的帖子没有明确说明是哪个问题:您正在引用托管在另一个不安全站点上的jquery脚本文件。正如JamWaffles所说,您只需在自己的站点上托管jquery文件的副本,以便可以使用https访问它。有关详细信息,请参阅此答案:https://stackoverflow.com/a/1458356/

正则表达式 : replacing the last dot for a comma

我有以下代码:varx="100.007"x=String(parseFloat(x).toFixed(2));returnx=>100.01这非常棒,正是我想要的效果。我只想要一个小小的补充,就像这样:varx="100,007"x.replace(",",".")x.replacex=String(parseFloat(x).toFixed(2));x.replace(".",",")returnx=>100,01但是,此代码将替换第一次出现的“,”,我想在其中捕获最后一个。任何帮助将不胜感激。 最佳答案 您可以使用正则表达式来

javascript - 无法构造 'Blob' : The 1st argument provided is either null, 或无效的 Array 对象。

我今天开始使用filesaver.js。我创建了以下函数:functionsaving(){varblob=newBlob(final_transformation,{type:"text/plain;charset=utf-8"});saveAs(blob,"helloworld.txt");}但是当我调用该函数时,我得到“无法构造‘Blob’:提供的第一个参数要么为空,要么为无效的Array对象。”有什么想法吗? 最佳答案 由于您不会告诉我们final_transformation是什么,我们必须在没有上下文的情况下进行猜测。试