Tag: 解析

Javascript:从string(inc。查询字符串)中提取URL并返回数组

我知道这已被问过一千次(道歉),但搜索SO / Google等我还没有得到一个确定的答案。 基本上,我需要一个JS函数,当传递一个字符串时,根据正则表达式识别和提取所有URL,返回所有找到的数组。 例如: function findUrls(searchText){ var regex=??? result= searchText.match(regex); if(result){return result;}else{return false;} } 该函数应该能够检测并返回任何潜在的URL。 我知道这个(括号括号等)的不良困难/问题,所以我觉得这个过程需要: 将字符串( searchText )拆分为不同的部分(开始/结束),其中任何一个,空格或回车都返回它,导致不同的内容块,例如进行拆分。 对于由拆分产生的每个内容块,请查看它是否适合任何构造的URL的逻辑,即它是否包含紧跟在文本后面的句点(用于限定潜在URL的一个常量规则)。 正则表达式应该查看句点是否紧跟其他文本后面的类型,包括tld,目录结构和查询字符串允许的类型,以及URL的允许类型的文本。 我知道可能会导致误报,但是会通过调用URL本身来检查任何返回的值,因此可以忽略这一点。 我发现的其他函数通常也不会返回URL查询字符串(如果存在)。 因此,从一个文本块,该函数应该能够返回任何类型的URL,即使这意味着将will.i.am识别为有效的URL! 例如。 http://www.google.com,google.com,www.google.com,http ://google.com,ftp.google.com,https://等等……以及带有查询字符串的任何派生应该退还… 非常感谢,再次道歉,如果它存在于其他地方,但我的搜索没有返回它..

可以使用jQuery的$(responseXML)语法可靠地解析XML吗?

我目前正在寻找一种使用JavaScript从服务器XML响应中提取信息的简单方法。 jQuery似乎是一个很好的候选人。 在使用jQuery解析XML时,我不断遇到类似于以下代码段的代码示例: function parseXml(responseXml) { $(responseXml).find(‘someSelector’)… } 然而,jQuery Core文档(下面引用)明确指出你不应该这样做: jQuery( html, [ ownerDocument ] ) html即时创建的HTML字符串。 请注意,这解析HTML 而不是 XML。 – http://api.jquery.com/jQuery/#jQuery2 这让我想知道为什么这么多的在线资源建议通过$(responseXml)解析XML。 尽管API文档说的是什么,这通常没有任何问题吗? 在什么情况下解析这样的XML实际上不起作用?

通过JavaScript迭代/解析JSON对象

我遇到了jQuery / Ajax / JSON的问题。 我正在使用jQuery ajax这样的post…… $.ajax({ type: “POST”, dataType: “json”, url: “someurl.com”, data: “cmd=”+escape(me.cmd)+”&q=”+q+”&”+me.args, success: function(objJSON){ blah blah… } }); 我的理解是,这将返回一个JavaScript JSON对象? ajaxpost产生的文本就是这个(我相信这是有效的JSON)… { “student”:{ “id”: 456, “full_name”: “GOOBER, ANGELA”, “user_id”: “2733245678”, “stin”: “2733212346” }, “student”:{ “id”: 123, “full_name”: “BOB, STEVE”, “user_id”: “abc213”, “stin”: “9040923411” } } 我似乎无法弄清楚如何解析jQuery ajaxpost返回的JSON对象…基本上我想循环并让每个学生返回一个div,就像这样…… $(“” + student.full_name + […]

在JavaScript / jQuery中解析CSS

我正在尝试在JavaScript中实现CSS解析,以便: a { color: red; } 被解析为对象: { ‘a’ { ‘color’: ‘red’ } } 首先,我可以使用JavaScript / jQuery 库吗? 我的实现非常基础,所以我确信它无论如何都不是万无一失的。 例如,它适用于基本CSS,但对于类型的属性: background: url(data:image/png;base64, ….); 它失败了,因为我使用split(‘;’)来分隔property:value对。 在这里, ; 发生在value ,因此它也会在该点处分裂。 还有另一种方法吗? 这是代码: parseCSS: function(css) { var rules = {}; css = this.removeComments(css); var blocks = css.split(‘}’); blocks.pop(); var len = blocks.length; for (var i = 0; i […]