草庐IT

regexp-replace

全部标签

javascript - RegExp 和 String 组合导致 Chrome 崩溃

我有以下RegExp来验证电子邮件地址:^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$在基本电子邮件上运行它效果很好:/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/.test('dave@the-taylors.org');但是在长字符串上运行它会使Chrome崩溃:/^[A-Za-z0-9](([_\.\

javascript - 对象没有方法 'replace'

我尝试运行这个函数,它将所有选中的复选框值抓取到逗号分隔的字符串中,并将","转换为",",所以它读起来更好。问题是我遇到了一个奇怪的错误:$('.name_boxes').live('click',function(){varall_boxes=$('.name_boxes');varall_boxes_values=[]for(vari=0;i控制台错误说:UncaughtTypeError:ObjectAaronRamsey,AaronRenfreehasnomethod'replace'.我没有收到警告框。这有点超出我的理解范围,有人可以解释我做错了什么吗?

javascript - string.replace 在 node.js Express 服务器中不起作用

我需要读取一个文件并用动态内容替换该文件中的一些文本。当我尝试string.replace时,它​​不适用于我从文件中读取的数据。但对于它正在工作的字符串。我是使用node.js和express。fs.readFile('test.html',functionread(err,data){if(err){console.log(err);}else{varmsg=data.toString();msg.replace("%name%","myname");msg.replace(/%email%/gi,'example@gmail.com');temp="Hello%NAME%,wou

Javascript - string.replace() 文本跨越多行?

假设我有文本(不是html),我是从文本区域中提取的。看起来像:ALTERLOGIN[user1]DISABLEGO~~~~~~~~~~~~~importantstufftokeep~~~~~~~~~~~~~~~~~~~~~~~~~~~~importantstufftokeep~~~~~~~~~~~~~~~~~~~~~~~~~~~~importantstufftokeep~~~~~~~~~~~~~~~ALTERLOGIN[user2]DISABLEGO~~~~~~~~~~~~~importantstufftokeep~~~~~~~~~~~~~~~~~~~~~~~~~~~~importa

javascript - 通过 RegExp 构造函数创建的对象匹配 Javascript 正则表达式中的空格

请查看这段代码。为什么通过不同方式(通过/regex/文字和通过RegExp构造函数)创建相同的正则表达式会导致不同的结果?为什么第二个模式不匹配str中的空格?varstr="";varpat1=/\s/;document.writeln(pat1.test(str));//shows"true"varpat2=newRegExp("\s");document.writeln(pat2.test(str));//shows"false"无法在任何地方找到我的问题的答案。谢谢 最佳答案 您需要转义反斜杠,因为它在字符串中:varpa

javascript - RegExp : I want to remove unnecessary words in the Sentence. 我该怎么做?

我有一个句子,我想从中删除一些词。如果我有:"jQueryisaUniquelanguage"和一个名为garbageStrings的数组:vargarbageStrings=['of','the',"in","on","at","to","a","is"];我想去掉句子中的“is”和“a”。但是如果我使用这个:/Thisstatementisinsideaforloop.我正在循环整个句子并在garbageStrings/中找到匹配项varregexp=newRegExp(garbageStrings[i]);字符串将变成“jQueryUniquelnguge”请注意,语言中的“a”

javascript - String.prototype.replace() 删除破折号和下划线

我正在尝试使用String.prototype.replace()删除字符串中出现的所有破折号和下划线,但它不起作用,我也不知道为什么。我的代码:varstr="dash-and_underscore";str=str.replace(/_|\-/,"");console.log(str);输出:"dashand_underscore"在Chrome控制台中。由于|的行为类似于OR运算符,我做错了什么?我试过解决方案here,但它没有用,或者我太笨了,无法理解-这是一个选项;) 最佳答案 试试这个:str=str.replace(/

javascript - RegExp.test 不工作?

我试图在javascript中使用Regex.test验证年份,但无法弄清楚为什么它返回false。varregEx=newRegExp("^(19|20)[\d]{2,2}$");regEx.test(inputValue)对于输入值1981、2007返回false谢谢 最佳答案 当您使用字符串表达式创建RegExp对象时,您需要加倍反斜杠以便它们正确转义。另外[\d]{2,2}可以简化为\d\d:varregEx=newRegExp("^(19|20)\\d\\d$");或者更好的是使用正则表达式文字来避免双反斜杠:varreg

javascript - 在 replace() 中调用 ajax 函数

我有一个包含ajax调用的函数:functionexample(param,callback){$.ajax({type:"GET",url:param,contentType:"application/json;charset=utf-8",dataType:"jsonp",success:function(data){//dosomethingwithdatacallback(data);}});}我这样调用它:example("http://www.example.com",function(result){//dosomethingwithresult})但是,我想在这种情况下

javascript - require.context : inline RegExp works, var RegExp 不

如果声明了SPECEnv,我将尝试有条件地加载我的测试:varcontext=nullif(process.env.SPEC){context=require.context('./tests',true,/.*?SearchInput.*/);}context.keys().forEach(context);这是完美的工作。现在如果我这样做varcontext=nullif(process.env.SPEC){varc=/.*?SearchInput.*/;context=require.context('./tests',true,c);}context.keys().forEac