Javascript 如果JSON对象中未提供Url,如何将Url添加到ng repeat

Javascript 如果JSON对象中未提供Url,如何将Url添加到ng repeat,javascript,angularjs,json,regex,Javascript,Angularjs,Json,Regex,我有一个从httpq调用返回的JSON对象。其中一个属性是LinkUrl。有时它会有一个来自返回对象的预定url,而有时它只会有一个文件名,我需要在该文件名的开头加上一个基本url 不确定是否有更具角度的方法来实现这一点,或者是否需要一个正则表达式if语句 下面是返回的LinkUrl,它就是文件。如果没有url,我需要在文件的前面加上一个url,以便它输出到我的视图中 谢谢你的帮助 0: Object $$hashKey: "00B" GroupId: "1" GroupName: "Stor

我有一个从httpq调用返回的JSON对象。其中一个属性是LinkUrl。有时它会有一个来自返回对象的预定url,而有时它只会有一个文件名,我需要在该文件名的开头加上一个基本url

不确定是否有更具角度的方法来实现这一点,或者是否需要一个正则表达式if语句

下面是返回的LinkUrl,它就是文件。如果没有url,我需要在文件的前面加上一个url,以便它输出到我的视图中

谢谢你的帮助

 0: Object
$$hashKey: "00B"
GroupId: "1"
GroupName: "Store # 11 - OKC"
LanguageName: "English"
LinkTypeAbbr: "Store_Docs"
LinkTypeDescr: "Store Documents"
LinkTypeId: "1"
LinkUrl: "store11_OKC_Docs.pdf"

你可以这样做

<a href="{{'http://' in obj.LinkUrl ? obj.LinkUrl : baseUrl + obj.LinkUrl}}" >{{obj.GroupName}}</a>

您可以使用正则表达式检查该字段是否为url。您可以在这里找到答案>>(下面的共享代码)


$scope.chckeURL=函数(url){
/*选中此处这只是一个文件名或完整URL。
字符串中是否存在使用HTTP。
生成最终url并返回它
*/
回归终局;
}

当字符串为文件名时,是否有可能在键
LinkUrl
中获得字符串
http://
?它将像上面那样返回,或者像http://Above 逻辑,可以在获取数据后添加,您不必为此触摸ng repeat(我假设您对除在ng repeat中处理以外的其他选项持开放态度)。
function ValidURL(str) {
  var pattern = new RegExp('^(https?:\/\/)?'+ // protocol
    '((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|'+ // domain name
    '((\d{1,3}\.){3}\d{1,3}))'+ // OR ip (v4) address
    '(\:\d+)?(\/[-a-z\d%_.~+]*)*'+ // port and path
    '(\?[;&a-z\d%_.~+=-]*)?'+ // query string
    '(\#[-a-z\d_]*)?$','i'); // fragment locater
  if(!pattern.test(str)) {
    alert("Please enter a valid URL.");
    return false;
  } else {
    return true;
  }
}

if (!ValidURL(yourObject.LinkUrl)) {
  yourObject.LinkUrl = yourAddress + yourObject.LinkUrl
}
<a href="{{chckeURL(obj.LinkUrl)}}">file</a>

$scope.chckeURL = function(url){
     /*Check here this is only a file name or full URL.
      using HTTP is present in the string or not.
      generate final url and return it  
     */
return finalURL;
}