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


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 hover 定时器(实例代码)
Nov 12 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
May 04 Javascript
JS实现点击按钮后框架内载入不同网页的方法
May 05 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
Aug 27 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
Dec 13 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
利用vue开发一个所谓的数独方法实例
Dec 21 Javascript
详解如何用babel转换es6的class语法
Apr 03 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
vue实现数字滚动效果
Jun 29 Javascript
微信小程序用户登录和登录态维护的实现
Dec 10 Javascript
react 路由Link配置详解
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
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
php判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
js跳转页面方法总结
2014/01/29 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
三星印度官网:Samsung印度
2019/08/03 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
MYSQL支持事务吗
2013/08/09 面试题
工程专业应届生求职信
2014/02/19 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
客户付款通知书
2015/04/23 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
Oracle锁表解决方法的详细记录
2022/06/05 Oracle