- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章iOS开发中苹果输入手机号变用户的名字由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
今天我们的用户输入手机号之后变成了用户的名字,没办法获取验证码,因为手机格式不对。我还是头一次遇到这样的事情.
1.文本替换 。
遇到这种事情肯定去百度啊,发现还真有人和我遇到相同的情况,原来这个用户在设置-》通用-》键盘-》文本替换把自己的手机号设置自己的名字了,这样只要在uitextfield中输入自己的手机号,输入完就会变成自己的名字,出现上图的情况.
其实这个功能还是满好玩的,不过用户要是把自己的手机号设置文本替换了,那么在app里注册就会出现问题了。当时我就想是不是微信也这样啊, 。
看来微信已经解决了这个问题,他手机号中间加了两个空格,而文本替换是不允许加空格的,所以可以正常完成登录。这里不得不为微信的工程师们点赞啊!不过淘宝更厉害,没有加空格,也没有进行文本替换,真是厉害啊。我又去看了其他app,基本上都是用空格来防止文本替换的,但是也有一些注册登录不了的,有兴趣的可以去尝试.
2.用空格防止文本替换 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#pragma mark - uitextfielddelegate
-(
bool
)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
{
if
(textfield == _txtusername) {
// 12312345678-> 123 1234 5678
if
(range.location == 3 || range.location == 8) {
textfield.text = [textfield.text stringbyappendingstring:@
" "
];
}
// 手机号最多输13位 包含两个空格,防止文本替换
if
(range.location >= 13){
return
no;
}
}
return
yes;
}
|
这样就成功的防止文本替换了,因为文本替换不能包含空格。但是我又发现删除不了了,就是当删除到空格的时候就不能继续删除了。难道是数字键盘里不能删除空格???后来我分析代码发现当我删除到空格的时候,就会自动帮我在后面再加上一个空格,这样我就永远把空格删除不了了。所以我要区分只有在输入的时候添加空格,删除到123 1234 5678的5时,自动把5前面的空格去掉.
3.区分输入和删除 。
当uitextfield删除的时候执行- (void)deletebackward;方法,这个方法在uikeyinput协议中。那这就好办了,自定义uitextfield的,重写- (void)deletebackward;,这个方法一执行,就发通知,或者走代理,都可以。后来我发现这有点麻烦,我还要自定义,发通知/代理,太麻烦了。所以我就想通过监测uitextfield的location来区分输入或删除.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#pragma mark - uitextfielddelegate
-(
bool
)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
{
if
(textfield == _txtusername) {
// 删除
if
(_lastlocation > range.location) {
if
(range.location == 9 || range.location == 4) {
// 删除到空格后一位的时候,自动把空格也去掉
textfield.text = [textfield.text substringtoindex:range.location];
}
_lastlocation = range.location - 1;
return
yes;
}
else
{
// 输入
if
(range.location == 3 || range.location == 8) {
textfield.text = [textfield.text stringbyappendingstring:@
" "
];
}
}
_lastlocation = range.location;
// 手机号最多输13位 包含两个空格,防止文本替换
if
(range.location >= 13){
return
no;
}
}
return
yes;
}
|
其实用户一多,对开发者来说成长会非常快,因为什么情况都会遇到,我们就在解决问题中成长.
以上所述是小编给大家介绍的ios开发中苹果输入手机号变用户的名字,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
原文链接:http://www.cnblogs.com/doujiangyoutiao/p/6898598.html 。
最后此篇关于iOS开发中苹果输入手机号变用户的名字的文章就讲到这里了,如果你想了解更多关于iOS开发中苹果输入手机号变用户的名字的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
是否可以为字符串对象定义代数? 例如: 苹果 + 苹果 = 2 个苹果 苹果 + 橙 = 橙 + 苹果 苹果 + 3.5 苹果 = 4.5 苹果 是否有内置函数可以做到这一点?是否有必要创建类结构?
我将为餐厅创建一个 iOS 应用程序,这样您就可以通过该应用程序轻松支付食物费用。所以看看苹果的规则: https://developer.apple.com/app-store/review/gui
当我通过在断点处停止来调试程序时,队列和堆栈显示为 size=0(当它们不是时),但其他变量(如 vector )工作正常。 MacOS 10.14.1 Mojave Cmake 3.12.3 Xco
我正在尝试在圆形图上重现圆形末端,但我自己无法解决。 我试过谷歌但找不到准确的术语来重新创建它。 任何人都可以引导我朝着正确的方向前进或告诉我我在寻找什么吗? 我想要一个看起来像这样的圆形图 http
出于某种原因,我的脚本拒绝直接从 Text Wrangler 运行,但在导入到终端时运行正常。 import math def main(): print("This program find
我在 mac 上,我写了很多 python 脚本。 每次我需要运行它们时,我都必须输入“python script_name.py”。有什么方法可以让我只需要键入“p script_name.py”吗
我刚刚在 Mac OS X (Snow Leopard) 上安装了 python 2.6,当我启动 IDLE 时它一直在退出! 我通过以下方式删除了所有 python 安装:rm -rf/Librar
北京时间12月18日晚间消息,据国外媒体报道,亚马逊、谷歌和苹果公司周三达成一项罕见的合作伙伴关系,旨在打造智能家居新标准,让消费者使用起来更方便。 当前,亚马逊、谷歌和苹果都在积极争抢智能家居用
我一直在研究我们是否可以创建一个应用程序,可以在苹果的 native 媒体播放器中播放 protected DRM 视频文件。但我可以收集到的是,苹果将不允许受 DRM 保护的视频文件通过媒体播放器进
个人开发者通常需要多长时间才能被接受加入开发者计划? 我今天付了微薄的钱,但我感到不耐烦。 最佳答案 第二天我就被录取了,感觉很棒。还带着我的照片和那封电子邮件;-) 关于iphone - 苹果 iP
我是 CIT 的理学学士学生。我有一个项目,我想在某种主机/客户端中使用 Java 小程序和 JDBC。 我的小程序在本地主机上正常工作,但是当我将其部署到 apache Web 服务器上时,我失去了
一周前,我在代码中编写了一个名为 getline 的函数,但该函数不起作用。从那时起,每当我将函数命名为 getline 并尝试编译它时,它都不起作用。如果我将函数名称更改为其他名称,它会再次起作用。
我在使用苹果时遇到问题 examples对于 vDSP。我尝试了所有这些,但最后我需要卷积样本。我什至无法通过链接器获取它: Undefined symbols for architecture i3
我正在尝试将 Apple map 集成到我的 iPhone 应用程序中,以显示两个位置之间的路线。但它不会显示任何路线,并且会简单地在控制台中打印大量消息。 我位于印度孟买。当我尝试在 iPhone
也许你们都看到了Apple’s HTML5 showcase .问题是,他们没有在网上提供任何可下载的内容,对吗? 有没有人找到像 theirs 这样的 360 示例?我们可以按原样下载和使用,而不是
friend 们,请帮忙! 我不知道如何做“wait.until”。 我将 Appium 与 UIAutomator 结合使用。 我的测试会等到新应用程序的页面加载完毕,并且文本字段中的“文本 1”将
Android 比较 2 个图像以使用位图代码并告诉水果类别是水果(苹果/香蕉)还是不是水果。 我有问题与 Bitmap 和 BitmapFactory 比较有运行时错误,我有问题的解决方案。 act
Apple 有一个特殊的 URL,可用于指向物理位置的超链接,触发本地 map 应用程序启动并呈现指定位置: http://maps.apple.com/?q=SEARCH According to
我正在使用 MKMapView 将本地 map 添加到我的 iOS 应用程序。我只想确定是否需要任何类型的身份验证 key 或应用程序 ID?我会将此应用程序上传到 Apple Store。 最佳答案
你好,我想在苹果 map 上做针点聚类。它的可能解决方案是什么。现在我的屏幕上显示了一个针点的苹果 map 。 Pin point分组后的代码是什么。提前致谢 最佳答案 在 map 上聚类/显示大量点
我是一名优秀的程序员,十分优秀!