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


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 相关文章推荐
js字符编码函数区别分析
Jun 05 Javascript
js动态删除div元素基本思路及实现代码
May 08 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
实例讲解JavaScript中instanceof运算符的用法
Jun 08 Javascript
jQuery Ajax全解析
Feb 13 Javascript
浅谈Vue父子组件和非父子组件传值问题
Aug 22 Javascript
javascript回调函数详解
Feb 06 Javascript
JS async 函数的含义和用法实例总结
Apr 08 Javascript
深入浅析vue全局环境变量和模式
Apr 28 Javascript
vue项目中微信登录的实现操作
Sep 08 Javascript
解决vue打包 npm run build-test突然不动了的问题
Nov 13 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
一个简单的域名注册情况查询程序
2006/10/09 PHP
PHP生成Flash动画的实现代码
2010/03/12 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
PHP加密解密类实例代码
2016/07/20 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
js清理Word格式示例代码
2014/02/13 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
Python 元类使用说明
2009/12/18 Python
python批量修改文件名的实现代码
2014/09/01 Python
用Python编写一个国际象棋AI程序
2014/11/28 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
python3爬虫怎样构建请求header
2018/12/23 Python
python实现公司年会抽奖程序
2019/01/22 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
Python修改列表值问题解决方案
2020/03/06 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
医院实习接收函
2014/01/12 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
驻村工作简报
2015/07/20 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis