iOS 键盘输入限制(只能输入字母,数字,禁止输入特殊符号)

首先我们要设置一下键盘类型

textFiled.keyboardType = UIKeyboardTypeASCIICapable;  (根据个人喜好设置键盘)

然后我们要设置textfield的代理<UITextFieldDelegate>

设置好代理就开始写键盘了

先来定义几个宏定义

#define NUM @"0123456789"
#define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
#define ALPHANUM @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

然后写代理方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
  NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ALPHANUM] invertedSet];
  NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
  return [string isEqualToString:filtered];
}

注:需要给哪个textfield设置键盘,就给哪个textfield设置代理即可

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • 仅几行iOS代码限制TextField输入长度

    网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法. 我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???  当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.  举一个简单的例子:  你要限制输入长度为30个字符,当你输入30个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中

  • iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数的封装实现代码

    引言需求:(输入框限制输入多少字符) 1.一个字母.符号.数字相当于一个字符 2.一个汉字相当于两个字符 3.不能输入特殊字符 4.不能输入emoji表情 直接上代码 一.注册通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldChange:) name:UITextFieldTextDidChangeNotification object:nil]; [[NSNotifica

  • 解决iOS7上UITextField限制字数输入导致崩溃问题的方法

    在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示 系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候,对于第三方输入法例如搜狗,联想状态下的输入,是监听不到,除非点击确定输入到textField,才会触发changed事件. 但对于系统键盘,联想状态下的输入也会监听,这里如果不处理就容易发生崩溃,例如当快要达到字数限制时,继续输入,此时textField.text =联想输入文字+textFiel

  • iOS中使用UISearchBar控件限制输入字数的实现方法

    废话不多说了,直接给大家上关键代码了,具体代码如下所述: - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText // called when text changes (including clear) { if (searchBar.text.length > IMPUT_MAX){ searchBar.text = [searchBar.text substringToIndex:15]

  • iOS 键盘输入限制(只能输入字母,数字,禁止输入特殊符号)

    首先我们要设置一下键盘类型 textFiled.keyboardType = UIKeyboardTypeASCIICapable;  (根据个人喜好设置键盘) 然后我们要设置textfield的代理<UITextFieldDelegate> 设置好代理就开始写键盘了 先来定义几个宏定义 #define NUM @"0123456789" #define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu

  • JavaScript使用键盘输入控制实现数字验证功能

    现在有一个需求如下图: 产品经理说Card Number只能让输入数字(中间的空格是格式自加的,也是用js实现的),有时候我脑海中出现了个声音,啥玩意,加个type=number不就行了,事实发现图样图森破了,先不说type=number后面会有个上下标(虽然用css可干掉),但是这个类型是支持科学输入法的,就是小数点和e这样的是可以输入的,于是乎只能用其他的方式了,后来想用检索到输入了非数字就干掉,但是这样还是能输入,想法被打回,于是乎最终采用了键盘输入控制的办法,其实很简单,代码如下: va

  • IOS开发中键盘输入屏幕上移的解决方法

    在IOS开法中经常会遇到键盘遮挡屏幕的事情(比如输入账号密码验证码等等),就使得原本都不大的屏幕直接占了一半甚至更多的位置,这倒无所谓,关键是挡住了下面的按钮.这样的话按钮的事件也就触发不了,最好的解决办法就是当输入这些信息的时候让整个屏幕上移一个键盘的位置,或者上移到指定的位置. 首先一般输入的话都用的是UITextField,所以要监听用户什么时候开始输入和什么时候结束输入,直接设置代理代理就行了,要遵受 UITextFieldDelegate协议. //遵循协议 @interface Vi

  • 限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数

    onlyNumber.html 测试代码: <html> <head> <script language="JavaScript" > function onlyNumber(obj){ //得到第一个字符是否为负号 var t = obj.value.charAt(0); //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d\.]/g,''); //必须保证第一个为数字而不是. obj.va

  • 怎么限制input的text里输入的值只能是数字(正则、js)

    当我们在一些网站注册账号.填写信息是,不小心将电话号码填写成汉字或其他英文字母了,这显然是不正确的.为了帮助用户更好地纠正输入时的错误,在表单中填写信息时,需要限制手机号.邮编.电话号码这类文本框不能输入其他字符,只能是数字. 通过使用正则匹配输入的时候只是数字: 复制代码 代码如下: var numRegex = /\D/g 再通过JavaScript的onblur 事件: 定义和用法 onblur 事件会在对象失去焦点时发生. Onblur 经常用于Javascript验证代码,一般用于表单

  • C#中winform控制textbox输入只能为数字的方法

    本文实例讲述了C#中winform控制textbox输入只能为数字的方法.分享给大家供大家参考.具体实现方法如下: 添加keyPress事件,控制键盘输入只能是自然数: 复制代码 代码如下: /// <summary> /// 控制键盘输入只能是自然数 /// </summary> /// <param name="sender"></param> /// <param name="e"></para

  • java获取键盘输入的数字,并进行排序的方法

    需求:由键盘输入三个整数分别存入变量num1.num2.num3,对它们进行排序, 并且从小到大输出 要求使用2种方法实现: 一.使用if-else分支结构: 二.使用java内置模块Arrays的排序方法. 一.使用if-else分支结构 class Date19_02 { public static void main(String[] arg){ sortOne(); } public static void sortOne(){ Scanner sc1 = new Scanner(Sys

  • java从键盘输入数字并判断大小的方法

    如下所示: <span style="font-size:24px;"><span style="font-size:24px;">/* 功能:从键盘输入数字判断大小,使用面向对象的方法 */ import java.io.*; public class Demo1 { public static void main(String[] args) { Bijiao bijiao=new Bijiao(); bijiao.Bijiao(); }

  • JavaScript利用正则表达式来禁止键盘输入数字

    今日在看JavaScript的时候,发现键盘响应时间onkeydown和一些其他的相关事件都停用了keyCode这个属性,而keyCode这个属性返回的是键盘按键的ASCII码值,停用后有个code属性替代,但也不完全替代,因为code属性返回的是键值本身的值,所以写法也不一样,下面用正则表达式来禁止输入框输入数字,直接上代码 <!DOCTYPE html> <html lang="en"> <head>     <meta charset=&

  • IOS实现输入验证码、密码按位分割(二)

    本文提供了实现IOS实现输入验证码.密码按位分割的一种思路,分享给大家供大家参考,希望与大家共同交流. 一.实现思路 1.思路描述 自定义一个view,继承自UIView 在view中添加子控件textField,backgroundImageView,label 将验证码/密码的内容绘制到label的指定区域(计算得到),所以label要自定义,在drawRect方法中绘制验证码 使用一个属性secureTextEntry,来控制显示验证码(显示真实的数字)或密码(显示圆点) 2.视图中的子控

随机推荐