我为什么要逗号?

时间:2016-02-28 18:38:23

标签: javascript jquery json regex

我想摆脱那些我努力并且无法做到的逗号。我看了互联网上的所有来源,每个人都说.replace(一些正则表达式) - >我试过那个并且它没有用,node.js和jquery的错误是.replace()不是函数。

我正在从JSON文件解析这些数据,客户端是jquery和ajax。

输出:

我在想我的正则表达式函数是错误的,我需要一个可以扫描所有JSON文件的函数,并找到以ftp / http / https / www等开头的URL A.K.A,

谢谢!

2 个答案:

答案 0 :(得分:0)

以下是从给定的JSON对象中提取URL的函数。

  

注意:此功能也适用于node.js !! :)

function extractUrls(data) {
      var s = JSON.stringify(data);
      var regx = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;

      return s.match(regx);
    }

以下是您要扫描的数据(其结构无关紧要)

var data = [{
  "id": 4797492459,
  "text": "She was lucky that she could use href=\"http://www.google.com\" right?",
  "user": {
    "url": "http://whatever.com"
  }
}, {
  "id": 4797490987,
  "text": "She was unlucky that she could not use href=\"http://www.google.in\" right?",
  "user": {
    "url": "http://another-whatever.com"
  }
}];

然后是以下代码行

var urlArray = extractUrls(data);

console.log(urlArray);

会生成一个数组

 [
    "http://www.google.com", 
    "http://whatever.com", 
    "http://www.google.in", 
    "http://another-whatever.com" 
 ]
  

注意:此处的所有内容都可以在node.js中使用。

     

JQuery示例。   以下是一个小提琴示例

https://jsfiddle.net/wdkdwk2g/1/

  

完整的提琴手代码   JS

var data = [{
  "id": 4797492459,
  "text": "She was lucky that she could use href=\"http://www.google.com\" right?",
  "user": {
    "url": "http://whatever.com"
  }
}, {
  "id": 4797490987,
  "text": "She was unlucky that she could not use href=\"http://www.google.in\" right?",
  "user": {
    "url": "http://another-whatever.com"
  }
}];

function extractUrls(data) {
  var s = JSON.stringify(data);
  var regx = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;

  return s.match(regx);
}

var urlArray = extractUrls(data);

console.log(urlArray);

urlArray.forEach(function(url) {
  $('ul').append('<li>' + url + '</li>');
});
  

HTML

<ul></ul>
  

输出

enter image description here

我希望这就是你要找的东西。

如果您还有其他需要,请告诉我们!

:)

答案 1 :(得分:0)

var str1 = ".edu,http,,our.risd.edu,,,, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,";

var str2 = str1.replace(/,/g, '');

console.log(str2);

注意&#39; g&#39;正则表达式结尾的标志