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


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的cookie的用法
Jan 10 Javascript
JS交换变量的方法
Jan 21 Javascript
理解Javascript的动态语言特性
Jun 17 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
微信小程序 action-sheet底部菜单详解
Oct 27 Javascript
一道面试题引发的对javascript类型转换的思考
Mar 06 Javascript
ES6学习教程之模板字符串详解
Oct 09 Javascript
Mac下安装vue
Apr 11 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
VUE实现移动端列表筛选功能
Aug 23 Javascript
vue+Element中table表格实现可编辑(select下拉框)
May 21 Javascript
vue.js+element 默认提示中英文操作
Nov 11 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
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
php面向对象值单例模式
2016/05/03 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
js select常用操作控制代码
2010/03/16 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
Python中实现对list做减法操作介绍
2015/01/09 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
python中adb有什么功能
2020/06/07 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
初入社会应届生求职信
2013/11/18 职场文书
我的求职择业计划书
2014/04/04 职场文书
社区矫正工作方案
2014/06/04 职场文书
党员志愿者活动总结
2014/06/26 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
业务内勤岗位职责
2015/04/13 职场文书
部门2015年度工作总结
2015/04/29 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
如何利用python实现列表嵌套字典取值
2022/06/10 Python