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

原文地址:https://www.cnblogs.com/wangyunhui/p/9204267.html

时间: 2024-10-21 19:29:40

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

记录在ios系统上,自研app,灰度环境遇到的一个vue页面dom节点已渲染,但是显示部分空白的情况

一.问题产生背景: 在ios系统上,自研app,灰度环境,进入到前端页面后,从不同入口进入到适配车型页面,部分页面显示正常,部分页面显示异常,而适配车型页面的代码逻辑仅仅是请求接口,获取到数据后进行for循环渲染而已 1.vue页面代码如下: 2.js代码如下(请求数据,有缓存先取缓存,没有取接口请求返回数据,直接赋值): 3.接口返回数据如下: 4.除了ios.自研app.灰度环境的某个入口外,其他各端,包括ios.自研app.灰度环境的大部分入口(进到适配车型页)正常如下: 5.ios.自研

关于html5 audio 标签在ios系统上不能正常自动播放的解决办法

由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio, 因此我们通过一个用户交互事件来主动 play 一下 audio. 这个坑相信大家都已经踩过了, 在 iOS 9 没出现以前, 这样的 hack 方案还是妥妥的.但 iOS 9 出现后, 发现这个方案"失效"了. 没有办法, 看来是时候升级一下 hack 方案了, 于是仔细看了下 audio 的事件. 对于能够自动播放时事件的顺序如下loadstart -

iOS系统曝重大安全漏洞 或导致用户信息被窃取

据国外媒体报道称,8.13版本以下的IOS系统出现重大安全漏洞. 黑客可以利用苹果 iOS 移动操作系统的漏洞远程在苹果 iOS 设备上安装假冒的流行应用程序,如?Facebook 和?Twitter 社交软件 APP,从而达到窃取用户数据的目的. 当用户点击信息与电子邮件中的不明链接或网站上的虚假广告时,黑客安装的程序就会启动,设备上会出现一个长得很像合法版本的假冒社交软件.与合法软件不同的是,假冒软件会窃取用户敏感信息,并将其发送至远程服务器上. "该黑客程序会根据被仿制软件的类型,查看其历

页面底部input被弹出来的键盘遮挡(iOS系统)—附解决方案

项目上要做一个留言回复的框. 类似这种用一个div套在input外面, 点击按钮时, 这个div出现, 位于页面底部. 并且input获得焦点, 自动弹出系统键盘. 但是, 在开发的时候发现,在iOS系统中这个div总是被键盘遮住, 曾经使用了垫高div框的办法, 天真的以为能够使它往上挪, 但是发现没有用, 需要手动往上拉才能出来. 查了很久, 看网上很多人都死在了这个问题上. 比较靠谱的答案在知乎上找到的 原因是fixed定位加上bottom:0在ios里无效了, 有人建议是改为弹性布局,

如何在ios 系统 中抓包??

为了实现在ios系统上抓包,如下步骤: 1,设备越狱 2,在cydia-软件源-设置中改为开发者,否则有些deb搜索不到 安装如下软件:OpenSSH,OpenSSL,wget (下载工具) Aptitude 及 APT 0.6 Transitional (deb包工具) unzip 及 zip (解压缩及压缩打包工具) 3,安装并启动sshd后,通过ssh -l root IPAD_IP_ADDRESS登录,默认口令是:alpine,这是ios系统默认的root密码,记得及时修改. 4,命令行

Vue单页面在ios10系统上出现白屏的bug

一个bug 你用Vue做了一个单页面应用,它在一切设备上都工作正常,但是突然有一天,你的测试和你说,这个网站在iOS 10上跑不起来,怎么办? 于是你打开你电脑上的Chrome浏览器,工作正常:打开Safari浏览器,工作正常:打开iOS 11手机,工作正常:打开各种安卓手机,工作正常.但是在iOS 10的手机上,不论是微信浏览器,还是Safari浏览器,都只能看见一个白白的屏幕. 于是你把手机连上电脑,在电脑端的Safari里,看到了如下的错误: SyntaxError: Cannot dec

关于访问iOS系统通讯录方法。

一.在iOS中,有2个框架可以访问用户的通讯录: 1.AddressBookUI.framework>提供了系统自带联系人列表界面.联系人详情界面.添加联系人界面等.>一般用于选择联系人. 2.AddressBook.framework>纯C语言的API,仅仅是获得联系人数据.>没有提供UI界面展示,需要自己搭建联系人展示界面.>里面的数据类型大部分基于Core Foundation框架,使用较难. 二.但是从iOS6开始,需要得到用户的授权才能访问通讯录,因此在使用之前,需

在DrawingVisual上绘制圆形的进度条,类似于IOS系统风格。

1.说明:在WPF中,文件下载时需要显示下载进度,由于系统自带的条型进度条比较占用空间,改用圆形的进度条,需要在DrawingVisual上呈现. 运行的效果如图: private Point GetPointOnCir(Point CenterPoint, double r, double angel) { Point p = new Point(); p.X = Math.Sin(angel * Math.PI / 180) * r + CenterPoint.X; p.Y = Center

怎样将文件从window系统复制到远程linux系统上

怎样将文件从window系统复制到linux系统上,其实有几种方法,比如,将windows上的文件共享出来,通过cifs协议mount到linux本地来,然后再cp一下.又或者通过FTP,但这些都有些麻烦.我们知道,在linux下有个命令 scp,它可以实现在linux系统之间快速地互拷文件,前题是linux上开启的ssh服务,哪么windows下是否也有这样的命令呢.我找遍了资料,没有发现有.但有一个工具winscp是可以以实现的,不过,它是个windows界面的,对于喜欢用脚本来管理的人来说