物流信息让电话高亮,并拨打电话。

需求是这样的,后台返回物流信息,里面包含电话号码,让电话号码高亮,并拨打电话,uni-app平台,但别的平台也都可以用。

实现之前是这样子的

 首先要做正则提取处理字符串中的手机号,并且添加样式,然后替换成a标签,设置属性,可以拨打电话,直接上代码

selectPhoneNumber(str) {
	var regx = /(1[3|4|5|7|8][\d]{9}|0[\d]{2,3}-[\d]{7,8}|400[-]?[\d]{3}[-]?[\d]{4})/g;
	var phoneNums = str.match(regx);
	if (phoneNums) {
		for (var i = 0; i < phoneNums.length; i++) {
		var temp = phoneNums[i]
		str = str.replace(phoneNums[i], '<a href="tel:' + temp + '"style="color: 
        #14DACD;text-decoration:none">' + temp + '</a>');
		}
	}
	return str;
},

注意:处理完数据之后是html代码的富文本

所以需要用v-html来解析

<span v-html="item.context"></span>

最开始是在调完接口循处理数据,但是不生效,可能是前面数据处理过的原因,大家可以试试。如果有知道的小伙伴,可以指导一下。

 所以直接在标签上用这个方法把数据包起来即可。

<span v-html="selectPhoneNumber(item.context)"></span>

最后做完就是这样子啦!

猜你喜欢

转载自blog.csdn.net/2201_75569738/article/details/128617775