jjzjj

regex_replace

全部标签

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

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

javascript - 为什么我们在此表达式中使用 _ str.replace(/[\W_]/g, '' ).toLowerCase();我们也可以使用/[\W]/g 但为什么我们要使用下划线呢?

这是一个javascript问题。我在freecodecamp上解决回文问题。让我在这里写下完整的代码:functionpalindrome(str){varnormalizedStr=str.replace(/[\W_]/g,'').toLowerCase();varreverseStr=normalizedStr.split('').reverse().join('');returnnormalizedStr===reverseStr;} 最佳答案 \W元字符用于查找非单词字符。单词字符是a-z、A-Z、0-9中的一个字符,包括

Javascript 字符串 regex/.*/gm 不会一次捕获所有行

为什么javascript替换字符串函数会这样做?"aaa\nbbb\nccc".replace(/.*/gm,".")//result="..\n..\n.."butexpectedwas:".\n.\n.""aaa\nbbb\nccc".replace(/^.*/gm,".")//result=".\n.\n."->OK!!!"aaa\nbbb\nccc".replace(/.*$/gm,".")//result="..\n..\n.."butexpectedwas:".\n.\n."我做错了什么? 最佳答案 让我以相反的顺序解

javascript - 我的 RegEx 模式允许在电子邮件中使用双 "@"

刚来的各位好我正在学习JavaScriptRegExp规则。我已经写了电子邮件验证模式。但不幸的是,它在示例中允许使用双“@”。请帮助我改进它。^(?:\s|(?:[a-z]))(?:[a-zA-Z0-9]+.)+@(?:[a-zA-Z])+.[a-z]+\s+还有截图可用: 最佳答案 您的正则表达式允许第二个@的原因是.字符:^(?:\s|(?:[a-z]))(?:[a-zA-Z0-9]+.)+@(?:[a-zA-Z])+.[a-z]+\s+^它允许任何字符。只需使用\.将其转义,使其仅包含点。

javascript - 使用 replace() 替换过多的内容

当t后面没有使用此行的字母p时,我将t替换为g代码:"tpto".replace(/(t)[^p]/g,"g");然而,结果是tpg,而我期待的是tpgo。因为我不知道哪个字母会跟在t之后,我需要一些动态的东西,但我不知道该怎么做,有什么想法吗? 最佳答案 您可以使用negativelookaheadassertion:"tpto".replace(/t(?!p)/g,"g");//=>"tpgo"/t(?!p)/:t仅当它不是(负)后跟(先行)p时才会匹配. 关于javascript-

javascript - jQuery + 扩展 Object.prototype = "c.replace is not a function"

我在我的开源项目中使用jQuery1.5,我自己的Javascript代码中也出现了以下行:/***Object.isEmpty()**@returns{Boolean}*/Object.prototype.isEmpty=function(){/***@deprecatedSinceJavascript1.8.5*@seehttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object*/if(this.__count__!==undefined){returnthis.__count__===0?

javascript - JS : regex for numbers and spaces?

我正在使用happyJS并使用下面的正则表达式进行电话验证phone:function(val){return/^(?:[0-9]+$)/.test(val);}但是这只允许数字。我希望用户能够像输入空格一样23823845383知道为什么return/^(?:[0-9]+$)/.test(val);没有成功吗? 最佳答案 这是我建议的解决方案:/^(?=.*\d)[\d]+$/.test(val)(?=.*\d)断言输入中至少有一位数字。否则,只有空格的输入可以匹配。请注意,这不会对数字的数量施加任何限制(仅确保至少有1位数字),

javascript - 未捕获的类型错误 : Cannot call method 'replace' of undefined underscore. js

我是backbone.js和underscore.js的新手。HTML:我调用View文件的地方:JS函数(与javascript项目配合良好):functionCart(){......this.showCart=function(){varitem=deserializeJSONToObj(window.localStorage.getItem(Cart.storageName));varstr='';str+='ItemtobuyQuantity';$.each(item,function(i,item){str+=''+trimString(item.Name,50)+'Ava

javascript - 包含前后空格的三个字母和两个数字的 RegEx 字符串

两个简单的问题:三个字母和两个数字前后有空格的RegEx字符串是什么(即“LET12”)?您是否碰巧知道任何好的RegEx资源/工具? 最佳答案 要获得好的资源,试试这个website和程序RegexBuddy.您甚至可以使用这些网站自行找出问题的答案。开始你需要这样的东西:/^[a-zA-Z]{3}\s+[0-9]{2}$/但具体细节取决于您的要求。您自己学习如何使用正则表达式然后编写正则表达式而不是仅仅复制此处的答案可能是一个更好的主意。小细节大不同。示例:什么是“信件”?只是A-Z还是外国字母?小写呢?什么是“数字”?只是0-

Javascript replace() 和 $1 问题

我正在尝试创建一个脚本来搜索文本中的模式,并在它找到的字符串周围加上一个标签。$(".shop_attributestd").each(function(){$(this).html(function(i,html){returnhtml.replace(/E[0-9]{3,4}/g,"$1");});});这是我使用的代码,它确实找到了我正在查找的内容,但它实际上所做的是生成一个包含$1的标签。我期望它做的是将它找到的字符串放入强标签中。我在这里做错了什么? 最佳答案 您需要捕获匹配项,然后才能使用它。使用括号:$(".shop_