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


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 相关文章推荐
JQuery 学习笔记 选择器之六
Jul 23 Javascript
WEB 浏览器兼容 推荐收藏
May 14 Javascript
php+js实现倒计时功能
Jun 02 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
JavaScript从0开始构思表情插件
Jul 26 Javascript
使用BootStrap实现用户登录界面UI
Aug 10 Javascript
Javascript 调用 ActionScript 的简单方法
Sep 22 Javascript
详解Vue2.0之去掉组件click事件的native修饰
Apr 20 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
Aug 19 jQuery
javascript实现QQ空间相册展示源码
Dec 12 Javascript
如何给element添加一个抽屉组件的方法步骤
Jul 14 Javascript
Vue的自定义组件不能使用click方法的解决
Jul 28 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python解析nginx日志文件
2015/05/11 Python
Python中的zipfile模块使用详解
2015/06/25 Python
用Python的Django框架来制作一个RSS阅读器
2015/07/22 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
使用tensorflow实现线性svm
2018/09/07 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
python基于Selenium的web自动化框架
2019/07/14 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
如何在django中添加日志功能
2020/02/06 Python
使用Python实现批量ping操作方法
2020/05/06 Python
python中pyplot基础图标函数整理
2020/11/10 Python
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
客服文员岗位职责
2013/11/29 职场文书
食品安全汇报材料
2014/08/18 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
2014财务年度工作总结
2014/11/11 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
详解TypeScript的基础类型
2022/02/18 Javascript
 Python 中 logging 模块使用详情
2022/03/03 Python