关于textfield(2)

转载 2016年08月28日 20:00:02

关于textfield输入电话号码

       通过添加UITextFieldDelegate代理方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:
(NSString *)string {
    return [self validateNumber:string];
}
 
- (BOOL)validateNumber:(NSString*)number {
    BOOL res = YES;
    NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
    int i = 0;
    while (i < number.length) {
        NSString * string = [number substringWithRange:NSMakeRange(i, 1)];
        NSRange range = [string rangeOfCharacterFromSet:tmpSet];
        if (range.length == 0) {
            res = NO;
            break;
        }
        i++;
    }
    return res;
}

关于textfield输入身份正号  最后一位x的解决办法



- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {  
    // string.length为0,表明没有输入字符,应该是正在删除,应该返回YES。  
    if (string.length == 0) {  
        return YES;  
    }  
    // length为当前输入框中的字符长度  
    NSUInteger length = textField.text.length + string.length;  
    // 如果该页面中还有其他的输入框,则需要做这个判断  
    if (textField == self.idNumberTextField) {  
        // str为当前输入框中的字符  
        NSString *str = [NSString stringWithFormat:@"%@%@", textField.text, string];  
        // 当输入到17位数的时候,通过theLastIsX方法判断最后一位是不是X  
        if (length == 17 && [self theLastIsX:str]) {  
            // 如果是17位,并通过前17位计算出18位为X,自动补全,并返回NO,禁止编辑。  
            textField.text = [NSString stringWithFormat:@"%@%@X", textField.text, string];  
            return NO;  
        }  
        // 如果是其他情况则直接返回小于等于18(最多输入18位)  
        return length <= 18;  
    }  
    return YES;  
}  
// 判断最后一个是不是X  
- (BOOL)theLastIsX:(NSString *)IDNumber {  
    NSMutableArray *IDArray = [NSMutableArray array];  
    for (int i = 0; i < 17; i++) {  
        NSRange range = NSMakeRange(i, 1);  
        NSString *subString = [IDNumber substringWithRange:range];  
        [IDArray addObject:subString];  
    }  
    NSArray *coefficientArray = [NSArray arrayWithObjects:@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2", nil nil];  
    int sum = 0;  
    for (int i = 0; i < 17; i++) {  
        int coefficient = [coefficientArray[i] intValue];  
        int ID = [IDArray[i] intValue];  
        sum += coefficient * ID;  
    }  
    if (sum % 11 == 2) return YES;  
    else return NO;  

该方法来自http://blog.csdn.net/l2i2j2/article/details/51542028   引用一下    

iOS限制textfield输入两位小数逻辑思维步骤记录(Swift)

先贴代码,逻辑思维在下面。 import UIKit class ViewController: UIViewController ,UITextFieldDelegate{ v...
  • tundraw
  • tundraw
  • 2016年03月14日 11:00
  • 911

iOS开发判断TextField中输入的数字为小数点后两位

原文:http://blog.csdn.net/chengyakun11/article/details/8494292 //在UITextField的代理方法中写下这样的方法,或者在你要用到的...
  • sinat_25027073
  • sinat_25027073
  • 2015年09月16日 11:09
  • 2138

UITextField前面空几格

有些文本框TextField 前面需要空几格。
  • mjx342112780
  • mjx342112780
  • 2016年10月21日 09:36
  • 4145

Extjs 关于动态显示TextField

由于调用textField的hide方法,只能隐藏文本框,不大好看,以前没去管,今天同事也碰到这个问题,就在网上查了下,有两种办法: 1. 调用Ext.getCmp('text_id').getEl...
  • zhaoweixs
  • zhaoweixs
  • 2013年03月19日 18:30
  • 325

EXT+formpanel+之+table+布局+并且显示+fieldlabel

function getBodyWidth(){         return document.body.clientWidth-15;     }         function fu...
  • QQ379165262
  • QQ379165262
  • 2011年10月09日 15:18
  • 611

关于textfield的使用

I took the example that Jack provided and actually created a working project, this was done using th...
  • a1c2n3g4w5
  • a1c2n3g4w5
  • 2013年12月26日 15:51
  • 440

struts2的s:textField标签问题

今天重新学习了一下Strtus2的自带标签,发现在使用 标签时,设置value值有一个小问题. 比如:value值里面要怎么写才能够拿到user里的username的值?  常规的:     是...
  • liuweikai2012
  • liuweikai2012
  • 2015年04月26日 16:25
  • 1709

<s:textfield> 标签设置默认值

这样写: 直接在name中写,不需要value值。也不需要写#号。 前提是action中要有定义所表示的对象。...
  • efine_dxq
  • efine_dxq
  • 2017年06月04日 17:58
  • 745

ios 关于textfield(1)

textfield  输入字数的限制 使用UItextfielddelegate 代理方法 - (BOOL)textField:(UITextField *)textField shouldCha...
  • xiaqinnnn
  • xiaqinnnn
  • 2016年08月27日 15:10
  • 190

TextField类说明文档

TextField是可能够放入Form中的可编辑的文本框组件。它可以通过一段文本初始化。 TextField包含一个最大大小,该大小就是任何时候可以保存在其中的字符量(即容量)。当TextField实...
  • loriwang
  • loriwang
  • 2006年04月20日 17:11
  • 3327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于textfield(2)
举报原因:
原因补充:

(最多只允许输入30个字)