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


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 相关文章推荐
Javascript 判断客户端浏览器类型代码
Mar 01 Javascript
JavaScript this调用规则说明
Mar 08 Javascript
jquery 查找新建元素代码
Jul 06 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
May 07 Javascript
超级简单实现JavaScript MVC 样式框架
Mar 24 Javascript
js结合正则实现国内手机号段校验
Jun 19 Javascript
值得分享的Bootstrap Table使用教程
Nov 23 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
Dec 08 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
微信小程序开发问题之wx.previewImage
Dec 25 Javascript
Centos7 安装Node.js10以上版本的方法步骤
Oct 15 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
附件名前加网站名
2008/03/23 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
PHP面向对象详解(三)
2015/12/07 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
Python语言异常处理测试过程解析
2020/01/08 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
质检部经理岗位职责
2014/02/19 职场文书
市政管理求职信范文
2014/05/07 职场文书
热门专业求职信
2014/05/24 职场文书
党的生日演讲稿
2014/09/10 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
Python socket如何解析HTTP请求内容
2022/02/12 Python