小程序中手机号识别的示例


Posted in Javascript onDecember 14, 2020

最近做的一个页面里面包含手机号,点击可以拨打电话,本计划着让后端把各个字段查出来就行了,结果接口方面给直接拼好了。

小程序中手机号识别的示例

接口返回的字符串:

"【王海】师傅已接单,联系电话:18839687266。稍后与您联系。师傅签到码为【1234】,师傅上门输入签到码后才可开始服务。"

这让我们绑定打电话的事件就不那么方便了,问题聚焦到解析字符串,找出手机号。

split大法,通过split得到包含手机号的数组,然后遍历这个数组,给手机号的元素打上标签。

parseStr (str){
  const regPhone = /(1\d{10})/ 
  const list = str.split(regPhone)
  const result = []
  return list.map(c => {
    let tag
    regPhone.test(c) ? tag = 'phone' : tag = 'text'
    return {
      type: tag,
      text: c
    }
  })
}

小程序中手机号识别的示例 

通过parseStr函数得到合适的格式后,循环渲染给手机号绑定事件就可以了,代码大概如下:

<view>
  <block wx:for="{{data}}" wx:for-item="i" wx:key="*this">
   <text wx:if="{{i.type === 'text'}}">{{i.text}}</text>
   <text wx:else bindtap="call(i.text)">{{i.text}}</text>
  </block>
</view>

挺简单的一个实现,就是一开始没想到用split。另外一个要注意的点是这个正则regPhone,仔细看,里面加了有括号,如果separator是包含捕获括号的正则表达式(),则匹配结果包含在数组中。

小程序中手机号识别的示例 

如果不加括号,相当于是把匹配到的手机号给丢掉了,加上括号,最终数组中才会包括我们匹配到的手机号。

到此这篇关于小程序中手机号识别的示例的文章就介绍到这了,更多相关小程序 手机号识别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
javascript解析json实例详解
Nov 05 Javascript
jQuery实现模拟marquee标签效果
Jul 14 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
微信小程序 点击控件后选中其它反选实例详解
Feb 21 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
Sep 13 Javascript
Angularjs按需查询实例代码
Oct 30 Javascript
浅析Vue项目中使用keep-Alive步骤
Jul 27 Javascript
前端js中的事件循环eventloop机制详解
May 15 Javascript
对vuex中store和$store的区别说明
Jul 24 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 Javascript
Vue如何跨组件传递Slot的实现
Dec 14 #Vue.js
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 #Vue.js
vue3.0实现插件封装
Dec 14 #Vue.js
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 #Vue.js
浅谈JSON5解决了JSON的两大痛点
Dec 14 #Javascript
Vue实现点击当前行变色
Dec 14 #Vue.js
如何在JavaScript中等分数组的实现
Dec 13 #Javascript
You might like
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
PHP内核探索:变量概述
2014/01/30 PHP
用jscript实现新建word文档
2007/06/15 Javascript
javascript getElementsByName()的用法说明
2009/07/31 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
Angular排序实例详解
2017/06/28 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
Python实现的密码强度检测器示例
2017/08/23 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
python 字符串和整数的转换方法
2018/06/25 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
python实现一个猜拳游戏
2020/04/05 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
python爬虫 requests-html的使用
2020/11/30 Python
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
中国好声音广告词
2014/03/18 职场文书
小学生读书活动总结
2014/06/30 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
校园之声广播稿
2015/08/18 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书