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


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给input和textarea设定ie中的focus
May 29 Javascript
Javascript 面向对象(三)接口代码
May 23 Javascript
js获取或设置当前窗口url参数的小例子
Oct 14 Javascript
禁止页面刷新让F5快捷键及右键都无效
Jan 22 Javascript
js实现带圆角的多级下拉菜单效果
Aug 28 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
Wireshark基本介绍和学习TCP三次握手
Aug 15 Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 Javascript
利用layer实现表单完美验证的方法
Sep 26 Javascript
jquery实现简单自动轮播图效果
Jul 29 jQuery
使用webpack和rollup打包组件库的方法
Feb 25 Javascript
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
php单例模式示例分享
2015/02/12 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
php图片添加水印例子
2016/07/20 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python列表推导式的使用方法
2013/11/21 Python
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
成绩单评语
2015/01/04 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Python中相见恨晚的技巧
2021/04/13 Python
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers