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


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 相关文章推荐
30分钟就入门的正则表达式基础教程
Feb 25 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 Javascript
node.js中的http.request.end方法使用说明
Dec 10 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
jQuery文字横向滚动效果的实现代码
May 31 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
详解Python中logging日志模块在多进程环境下的使用
Dec 26 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
Angular2使用jQuery的方法教程
May 28 jQuery
javascript中的数据类型检测方法详解
Aug 07 Javascript
javascript导出csv文件(excel)的方法示例
Aug 25 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
Zerg建筑一览
2020/03/14 星际争霸
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
自制PHP框架之设计模式
2017/05/07 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
javascript URL锚点取值方法
2009/02/25 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
简单的编程0基础下Python入门指引
2015/04/01 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python中GIL的使用详解
2018/10/03 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
Pytorch之contiguous的用法
2019/12/31 Python
flask项目集成swagger的方法
2020/12/09 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
UML设计模式笔试题
2014/06/07 面试题
学前教育教师求职自荐信
2013/09/22 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
投资建议书模板
2014/05/12 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
搞笑车尾标语
2014/06/23 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
紧急通知
2015/04/17 职场文书
西安事变观后感
2015/06/12 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python