关于在iOS系统上复制通讯录里的电话号码,用户正则表达式验证手机号不通过的问题

Posted wangyunhui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于在iOS系统上复制通讯录里的电话号码,用户正则表达式验证手机号不通过的问题相关的知识,希望对你有一定的参考价值。

这是我在ios11系统上复制下来的手机号然后发到钉钉上的截图

技术分享图片

你会发现除了中间的2个空格以外,最后面貌似也有一个空格,但是当你把它复制到编辑器里面的时候空格就没有了,当你点击键盘上的左右方向键移动光标的时候你会发现光标在手机号末尾停留了一次才会移动,这说明手机号末尾有一个不占位的符号。我把手机号码复制到控制台打印了一下长度

技术分享图片

讲道理11位手机号加上中间2个空格应该是13位,但是现在长度是14位。

我把它复制下来用URL编码了一下

编码前:

技术分享图片

编码后:

技术分享图片

出现了这么一串。

于是乎,我目前只想到了这种方法

var str = ‘177 1080 2725?‘;
var reg = new RegExp("?","");
var a = str.replace(reg,"");
console.log(a.length); 

运行截图如下:

技术分享图片

 

成功了,str的长度变成了13。然后下面就可以愉快的进行手机号码正则验证了。

 

以上是关于关于在iOS系统上复制通讯录里的电话号码,用户正则表达式验证手机号不通过的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于物联网通信协议(通讯协议)

iOS获取通讯录 电话号码与姓名

用c语言程序设计一个学生通讯录系统

如何在 ios 10.0 中授予访问电话通讯录的权限?

vivo手机如何登录Twitter

iOS开发系列--通讯录蓝牙内购GameCenteriCloudPassbook系统服务开发汇总