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

时间:2018-06-20 16:41:26   收藏:0   阅读:1427

这是我在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。然后下面就可以愉快的进行手机号码正则验证了。

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!