Ionic framework 如何根据从爱奥尼亚API中获取的详细信息应用超链接

Ionic framework 如何根据从爱奥尼亚API中获取的详细信息应用超链接,ionic-framework,ionic3,Ionic Framework,Ionic3,我正在从事Ionic项目,我有一个联系人页面,可以从API获取详细信息。我想根据获取的详细信息应用超链接,比如如果它是一个手机号码,则应用tel,并应用电子邮件mailto 这是my contact.html: 问题是,如何根据获取的值决定是否应用tel或mailto。这是我根据从API获取的详细信息的输出。现在,我想根据从API获取的细节应用超链接。电子邮件:mailto适用,手机号码:tel适用 非常感谢您的帮助 *ngIf应该派上用场: <a href="tel" *ngIf="

我正在从事Ionic项目,我有一个联系人页面,可以从API获取详细信息。我想根据获取的详细信息应用超链接,比如如果它是一个手机号码,则应用tel,并应用电子邮件mailto

这是my contact.html:

问题是,如何根据获取的值决定是否应用tel或mailto。这是我根据从API获取的详细信息的输出。现在,我想根据从API获取的细节应用超链接。电子邮件:mailto适用,手机号码:tel适用

非常感谢您的帮助


*ngIf应该派上用场:

  <a href="tel" *ngIf="condition">...</a> // or any boolean as condition
  <a href="mailto" *ngIf="!condition">...</a>  // or any other condition

*ngIf应该派上用场:

  <a href="tel" *ngIf="condition">...</a> // or any boolean as condition
  <a href="mailto" *ngIf="!condition">...</a>  // or any other condition

首先,您必须检查数据是否为电子邮件类型。将此功能用作电子邮件验证程序

emailValidator(email:string): boolean {
    var EMAIL_REGEXP = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

    if (!EMAIL_REGEXP.test(email)) {
        return false;
    }
    return true; 
}
在你的html页面中

<a href="{{emailValidator(email) == true ? 'mailto' || 'tel'}}"></a>
为了方便起见,您可以从emailValidator函数返回字符串:

emailValidator(email:string): string {
    var EMAIL_REGEXP = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

    if (!EMAIL_REGEXP.test(email)) {
        return 'mailto';
    }
    return 'tel'; 
}
在HTML中,您可以使用

<a href="{{emailValidator(email)}}"></a>

首先,您必须检查数据是否为电子邮件类型。将此功能用作电子邮件验证程序

emailValidator(email:string): boolean {
    var EMAIL_REGEXP = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

    if (!EMAIL_REGEXP.test(email)) {
        return false;
    }
    return true; 
}
在你的html页面中

<a href="{{emailValidator(email) == true ? 'mailto' || 'tel'}}"></a>
为了方便起见,您可以从emailValidator函数返回字符串:

emailValidator(email:string): string {
    var EMAIL_REGEXP = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

    if (!EMAIL_REGEXP.test(email)) {
        return 'mailto';
    }
    return 'tel'; 
}
在HTML中,您可以使用

<a href="{{emailValidator(email)}}"></a>


如果您需要有关此条件的进一步帮助,请提供数据提取。提取的数据是图像中提到的电子邮件和手机号码。但是如何在标记上应用mailto和tel,因为它从API获取详细信息。如下所示:[attr.href]=MailToi如果您需要有关此条件的进一步帮助,请提供数据摘录extract数据是图像中提到的电子邮件和手机号码。但是如何在标记上应用mailto和tel,因为它从API获取详细信息。如下所示:[attr.href]=mailtoWhat if,获取的文本很简单,我不想应用任何链接。你的意思是如果你不想在html中保留“tel或mailto”并从组件中执行该操作怎么办?就像如果文本不是电子邮件或手机号码那么?你必须在html或emailValidator函数中添加另一个条件好的。谢谢你的回答。如果,获取的文本很简单,我不想应用任何链接。你的意思是如果你不想在html中保留“tel或mailto”并从组件中执行它怎么办?比如,如果文本不是电子邮件或手机号码,那么?你必须在html或emailValidator函数中添加另一个条件好的。谢谢你的回答。