ios-对用户输入的字符进行限制

问题描述

对用户输入的字符进行限制

有四个文本框,在用户输入时需要放入两个限制。一个是用户只能输入大写字母,并且最多只能有2个字符。代码如下:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
   replacementString:(NSString *)string {

// Below logic is for All 4 Modifer Textfields
// we are restrict the user to enter only max 2 characters in modifier textfields.
if (textField==txt_modifier1 || textField==txt_modifier2 || textField==txt_modifier3 ||
textField==txt_modifier4) {
    textField.text = [textField.text stringByReplacingCharactersInRange:range
                                                             withString:[string
    uppercaseStringWithLocale:[NSLocale currentLocale]]];
    NSUInteger newLength = [textField.text length] + [string length] - range.length;
    return (newLength > 2) ? NO : YES;

}
return YES;
}

但是运行之后,我输入任何字符都会附加一个新字符,并且也没用成功限制2个字符的数量。

请高手指点一下,谢谢。

解决方案

注册UITextFieldTextDidChangeNotification 在这里做判断

[[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(textChanged:)
                                              name:UITextFieldTextDidChangeNotification
                                            object:YOUR_TEXT_FIELD];

-(void)textChanged:(NSNotification *)notif {
    //to do your logic
}
时间: 2024-10-02 23:21:24

ios-对用户输入的字符进行限制的相关文章

JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数_jquery

JavaScript代码: 复制代码 代码如下: function counter(object){     var limit = $(object).attr('maxlength');     if($(object).next(".counter").val()==undefined){         $(object).after("<span class='counter'></span>/"+limit);     }    

c++统计用户输入的字符串的空格字符,英文字符,数字个数,其他字符个数以及用户输入字符串的长度

问题描述 c++统计用户输入的字符串的空格字符,英文字符,数字个数,其他字符个数以及用户输入字符串的长度 我在统计中文的时候出现了问题,请各位大神指教一下 #include #include using namespace std; int main() { string str; cout << "请输入一个字符串,以换行为结束!n"; getline(cin, str); size_t count = 0; size_t spaceNum=0; size_t lette

&amp;amp;lt;C++&amp;amp;gt;事先不知道有多少个字符,用户输入任意个字符放入动态字符数组中。

问题描述 <C++>事先不知道有多少个字符,用户输入任意个字符放入动态字符数组中. 目前我的问题是如何在while循环中跳出,尝试了很多方法但是还是没用.求解. 解决方案 应该必须在while里面定义一个跳出的条件,比如输入一个换行符(按回车),或者某个特定字符和符号. 解决方案二: while(ch= getc() != '[特定字符]'){} 直到获取到特定字符为止,跳出循环. 解决方案三: https://code.csdn.net/snippets/480218 解决方案四: http

怎么能防止用户用户输入这样的字符&amp;amp;lt;~/XSS/*-*/

问题描述 在下面的代码中,怎么能防止用户用户输入这样的字符<~/XSS/*-*/STYLE=xss:e/**/xpression(alert('XSS'))>The.帮忙写这段代码谢谢.禁止让他输入大于号小于号之类的是VB.net的项目login.aspx代码<%@PageLanguage="vb"AutoEventWireup="false"Codebehind="login.aspx.vb"Inherits="CM

字符处理-判断用户输入的是一个单词,还是多个单词,用什么方法好点

问题描述 判断用户输入的是一个单词,还是多个单词,用什么方法好点 判断一个用户的输入是一个单词,还是多个单词,是去判断里面的空格好呢,还是用正则去判断... 解决方案 判读空格吧 正则表达式不好进行判断 解决方案二: 感觉判断里面的空格好,两空格之间有值的为一个单词,比较通用-- 解决方案三: 用空格比较简单一些 复杂的匹配要求可以用正则 解决方案四: 用正则不是还是判断是不是有空格么 s 难道还有别的 解决方案五: 如果没有什么特殊的要求,用空格来判断比较好! 解决方案六: 一般编程语言中包含

PHP中显示格式化的用户输入

显示 你可以在这个页面下载这个文档附带的文件,也可以在文件下载中的字符处理中下载这个文档描述如何安全显示的有格式的用户输入.我们将讨论没有经过过滤的输出的危险,给出一个安全的显示格式化输出的方法. 没有过滤输出的危险 如果你仅仅获得用户的输入然后显示它,你可能会破坏你的输出页面,如一些人能恶意地在他们提交的输入框中嵌入javascript脚本: This is my comment. <script language="javascript: alert('Do something bad

在PHP中显示格式化的用户输入

显示 你可以在这个页面下载这个文档附带的文件,也可以在文件下载中的字符处理中下载这个文档描述如何安全显示的有格式的用户输入.我们将讨论没有经过过滤的输出的危险,给出一个安全的显示格式化输出的方法. 没有过滤输出的危险 如果你仅仅获得用户的输入然后显示它,你可能会破坏你的输出页面,如一些人能恶意地在他们提交的输入框中嵌入javascript脚本: This is my comment. <script language="javascript: alert('Do something bad

一个用js限制用户输入字节个数的问题.

js|问题 页面上有一个textarea(注意是多行的),现在需要用Js实现下面的功能. 1.只能输入一定字节的字符,比如允许的最大长度是10,那么只能输入10个字母或者5个 汉字(双字节的字符). 2.而且允许用户用退格键,delete键以及其他的非字符键. 3.必须同时支持ie和firefox,太低的版本可以不考虑.  4.用户粘贴的时候也必须保证不会超过允许的最大长度,不能单单考虑用键盘输入. 5.以上功能是基于字节的,不是字符. 搞了老半天没有搞定,网上也没有特别好的资料. 如果有兄弟帮

在ASP中过滤用户输入 提高安全性

安全|安全性|安全|安全性 安全对于所有应用程序来说都是十分重要的.一个简单应用程序里的某个失误都会造成对数据库或者其他企业资源未经授权的访问,因此安全尤其重要.一种常用的攻击方法是将命令嵌入到用户的回应里,而从用户输入里过滤掉这些非法的字符就能够防止这种攻击. 允许用户输入非法的字符会增加用户导致问题的机会.例如,很多应用程序都能够接受用户在SQL命令里增加的WHERE子句.恶意用户会通过向其输入的信息里增加额外命令的方法,来执行数据库服务器上的代码.例如,他们不是输入"Smith"