草庐IT

PREG_REPLACE_EVAL

全部标签

javascript - jquery replace 不替换所有空格 -

为什么我的jquery没有用'-'替换所有空格。它只用'-'替换第一个空格$('.modhForm').submit(function(event){var$this=$(this),action=$this.attr('action'),query=$this.find('.topsearchbar').val();//Useval()insteadofattr('value').if(action.length>=2&&query.length>=2&&query.lenght 最佳答案 试试这个:.replace(/\s/g,

javascript - URI 正则表达式 : Replace http://, https ://, ftp://如果 URL 有效则为空字符串

我有一个简单的URL验证器。url验证器可能与其他所有验证器一样工作。现在我想,如果URL已通过,则获取https://、http://并为varb删除它。所以我所做的是我制作了另一个捕获https://、http://、ftp://等的正则表达式,并判断url是否通过了长时间测试,进行第二次测试并将其替换为空字符串。这是我想出的:$("button").on('click',function(){varurl=$('#in').val();varmatch=/^([a-z][a-z0-9\*\-\.]*):\/\/(?:(?:(?:[\w\.\-\+!$&'\(\)*\+,;=]|%

javascript - 为什么 eval() 中的 typeof 在我的函数中抛出错误?

我试图实现类似于angular.isDefined(...)的功能但允许检查变量及其属性,所以我写了这个概念证明:functioncheck(s){letparts=s.split('\.');letpartial='';returnparts.every(p=>{partial+=(partial?'.':'')+p;letexpr=`typeof${partial}`;console.log('Evaluating',expr);returneval(expr)!=='undefined';});}check('obj');letobj={};check('obj');obj.a=

在搜索的特定索引处使用 .replace() 的 Javascript

是否有一个函数可以在字符串的特定索引处替换字符串中的字符串一次?示例:varstring1="mytextismytextandmybigtext";varstring2="my";string1.replaceAt(string2,"your",2);结果输出将是“我的文本是我的文本和你的大文本” 最佳答案 您可以通过一些操作来做到这一点,不需要任何正则表达式。我用了thisfunction获取字符串中另一个字符串的位置(索引)。从那里开始,它就像从开头返回一个子字符串到找到的索引一样简单,注入(inject)您的替换,然后返回字

javascript - transclude : true and replace: true in Angular Js之间的基本区别

嘿,我是angularjs的新手,所以我正在浏览angularjs.org文档来制作自定义指令。我想知道transclude和replace之间的基本区别。我见过几个例子,其中他们使用transclude:true和replace:true作为自定义指令。抱歉,如果这是angularjs中的基本问题。只是让我的基础知识清楚。 最佳答案 当您使用transclude时,您将在您的页面上的自定义标签内包含任何可用的html。例如,如果您有:sometext段落标签将包含在您拥有的位置:template:'',因此您到页面的输出将显示为:

javascript eval 和对象评估

我有一部分调试框架需要能够运行时评估对象。具体来说,如果我有一个像这样的字符串"{a:1,b:2}"它需要将它评估为一个包含成员a和b与这些值。但是,如果我执行eval("{a:1,b:2}"),它似乎将其评估为一个语句,并说明了非法标签。我已经破解了它,所以它的评估是这样的:eval("varx="+str+";x;");这似乎有效,但似乎是一个可怕的hack。关于如何更好地做到这一点有什么建议吗?(顺便说一句,我知道eval的危险,但这是调试框架的一部分,实际用户不会看到。) 最佳答案 您可以使用()将其解析为对象,而不是语句,

javascript - 这个 eval 条件的目的是什么?

我在这里浏览源代码:http://js-dos.com/games/doom2.exe.html并注意到一些事情:if(typeofModule==='undefined'){Module=eval('(function(){try{returnModule||{}}catch(e){return{}}})()');}Module函数是用内联脚本标记定义的稍后在另一个内联标签中用var再次声明,这次它检查模块是否存在。我的问题:如果它只会尝试再次返回模块,那么用自调用函数声明模块有什么意义?不是已经被证明不存在了吗?为什么不直接将Module显式声明为{}?

javascript - 在输入中使用 javascript eval() 进行简单计算是否安全?

我想允许用户在文本输入中执行简单的计算,这样键入2*5的结果将是10。我将除数字以外的所有内容替换为空字符串,然后使用eval()进行计算。与手动解析相比,这似乎更容易并且可能更快。人们常说eval()是不安全的,所以我想知道在这种情况下使用它是否有任何危险或缺点。function(input){value=input.value.replace(/[^-\d/*+.]/g,'');input.value=eval(value);} 最佳答案 那是安全的,不是因为您正在净化它,而是因为它全部由用户输入并在他们自己的浏览器中运行。如果

javascript - JSLint "document.write can be a form of eval"- 这是怎么回事?

我在JSLint中看到过这条消息...document.writecanbeaformofeval.并想知道到底是怎么回事?JSLintinstructions页面状态:Theevalfunction...provideaccesstotheJavaScriptcompiler.Thisissometimesnecessary,butinmostcasesitindicatesthepresenceofextremelybadcoding....那么,document.write如何“提供对JavaScript编译器的访问”呢?谢谢 最佳答案

javascript - 如何在网页中安全地使用 "eval"用户代码?

我正在开发一个网络应用程序来教授编程概念。网页有一些关于编程概念的文本,然后让用户在文本编辑器窗口中输入javascript代码以尝试回答编程问题。当用户点击“提交”时,我会分析他们输入的文本,看看他们是否已经解决了问题。例如,我要求他们“编写一个名为f的函数,将其参数加三”。以下是我正在做的分析用户文本的工作:在具有严格设置的文本上运行JSLint,尤其是在不假设浏览器或控制台功能的情况下。如果有任何错误,显示错误并停止。eval(usertext);遍历传递赋值的条件,eval(condition)。示例条件是"f(1)===4"。条件来自可信来源。显示通过/未通过条件。我的问题: