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


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 相关文章推荐
Prototype使用指南之ajax
Jan 10 Javascript
JavaScript 利用Cookie记录用户登录信息
Dec 08 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
Apr 07 Javascript
node.js中的fs.appendFileSync方法使用说明
Dec 17 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
jQuery页面加载初始化的3种方法(推荐)
Jun 02 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
Oct 26 Javascript
VUE简单的定时器实时刷新的实现方法
Jan 20 Javascript
Node.js之readline模块的使用详解
Mar 25 Javascript
解决layui表格内文本超出隐藏的问题
Sep 12 Javascript
在weex中愉快的使用scss的方法步骤
Jan 02 Javascript
vue使用axios实现excel文件下载的功能
Jul 16 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
简单的过滤字符串中的HTML标记
2006/12/25 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
JavaScript实现省市联动效果
2019/11/22 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python+django实现简单的文件上传
2016/08/17 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
python基于openpyxl生成excel文件
2020/12/23 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
百丽国际旗下购物网站:优购
2017/02/28 全球购物
汽车队司机先进事迹材料
2014/02/01 职场文书
食品业务员岗位职责
2014/03/18 职场文书
法制宣传月活动方案
2014/05/11 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
Java8中接口的新特性使用指南
2021/11/01 Java/Android
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js