JavaScript:在元数据中剥离URL而不删除所有字符串中的空格

时间:2014-12-15 05:31:44

标签: javascript jquery regex

我正在尝试验证并传递有效的JSON以存储在数据库中。我还允许用户复制元数据。不幸的是,下面的内容失败了,我想知道如何只删除有效的URL,而不从其他键值对中删除空格。

无效示例:

{ "hello" : "http : //google.com" }   

有效示例:

var metaDataContent = {"hello":"http://google.com"}    
var metaDataContent =  {"typeId":5,"mainEventId":301049,"meetingId":54,"title":"Hour of Power"}

我已经尝试过metaDataContent.replace(RegExp(" ", "g"), "");,它会正确删除第一个示例并在数据库中保存,但不幸的是,还会删除"title":"HourofPower"

的间距

非常感谢任何有关改进正则表达式的帮助!

1 个答案:

答案 0 :(得分:1)

我不确定哪种数据包含metaDataContent,但假设这是一个带有JSON格式的字符串,您可以将此字符串强制转换为对象,然后遍历其属性。如果属性值以字符串“ http ”开头,请执行替换:

var obj = JSON.parse(metaDataContent);
for (var p in obj) { 
  if (obj[p].indexOf('http') === 0){
    obj[p] = obj[p].replace(/ /g, "");
  }
}

metaDataContent = JSON.stringify(obj);