亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中輸入框設置指定字符輸入的方法

2020-07-26 02:32:22
字體:
來源:轉載
供稿:網友

前言

對于開發者來說,在很多情況下,一般的輸入框需要按照要求進行輸入,輸入內容由開發人員來指定。例如:密碼輸入框只能輸入純數字或者是拼音與數字結合的文本等,那么我們在開發的時候就需要做一些輸入文本的限時。下面話不多說了,來一起看看詳細的介紹吧。

一、只能輸入純數字

在這里以UITextField為例:其實現代碼如下:

- (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;}

另外我們還有一種更加簡便的方法來實現這一目的:

首先宏定義

#define NUMBER @"0123456789"

接著

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

二、只能輸入純大小寫字母

和以上只能輸入純數字類似,實現起來簡單,只需要宏定義

#define LETTER @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

然后實現

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

三、大小寫字母和數字結合輸入

對照以上

#define LETTER_NUMBER @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

同樣道理具體能夠輸入那些內容如果輸入內容能夠一一列舉的話我們就可以通過define來設置了,實現起來超簡單。

限制只能輸入中文

在這里用到了觀察者(更多觀察者模式的介紹參考這里:http://www.49028c.com/article/76122.htm)

- (void)viewDidLoad { [super viewDidLoad]; _myTextField.delegate = self; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditChanged:) name:UITextFieldTextDidChangeNotification object:_myTextField];}- (BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder];  //過濾非漢字字符 textField.text = [self filterCharactor:textField.text withRegex:@"[^/u4e00-/u9fa5]"];  if (textField.text.length >= 4) {  textField.text = [textField.text substringToIndex:4];   } return NO;}- (void)textFiledEditChanged:(id)notification{ UITextRange *selectedRange = _myTextField.markedTextRange; UITextPosition *position = [_myTextField positionFromPosition:selectedRange.start offset:0];  if (!position) { //// 沒有高亮選擇的字  //過濾非漢字字符  _myTextField.text = [self filterCharactor:_myTextField.text withRegex:@"[^/u4e00-/u9fa5]"];    if (_myTextField.text.length >= 4) {   _myTextField.text = [_myTextField.text substringToIndex:4];  } }else { //有高亮文字  //do nothing }}- (NSString *)filterCharactor:(NSString *)string withRegex:(NSString *)regexStr{ NSString *searchText = string; NSError *error = NULL; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCaseInsensitive error:&error]; NSString *result = [regex stringByReplacingMatchesInString:searchText options:NSMatchingReportCompletion range:NSMakeRange(0, searchText.length) withTemplate:@""]; return result;}- (void)dealloc{ [[NSNotificationCenter defaultCenter] removeObserver:self];}

如果要限制輸入字符位數的話可以直接設置,這個實現上有很多種,最簡單的就是

- (void)textViewDidChange:(UITextView *)textView{ NSInteger number = [textView.text length]; if (number > 300) {  textView.text = [textView.text substringToIndex:300]; }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品va在线观看黑人| 国产激情综合五月久久| 日韩成人xxxx| 川上优av一区二区线观看| 国产视频观看一区| 97成人精品视频在线观看| 成人高清视频观看www| 欧美疯狂做受xxxx高潮| 国产99视频精品免视看7| 韩曰欧美视频免费观看| 国产美女搞久久| 欧美wwwxxxx| 欧美国产日韩一区二区三区| 欧美性20hd另类| 日韩av在线网页| 亚洲欧美日韩另类| 欧美性猛交99久久久久99按摩| 久久久精品视频成人| 日韩欧美中文免费| 国产精品一区二区三区久久久| 欧美网站在线观看| 欧美激情a在线| 亚洲色图激情小说| 日本一区二区在线播放| 中文字幕亚洲自拍| 5278欧美一区二区三区| 国产91色在线播放| 国产精品中文在线| 丝袜美腿精品国产二区| 国产不卡视频在线| 亚洲人成伊人成综合网久久久| 日韩精品视频在线免费观看| 国产日韩欧美影视| 亚洲欧美激情精品一区二区| 久热在线中文字幕色999舞| 欧美在线视频导航| 国产精品亚洲精品| 欧美精品成人在线| 国产免费一区二区三区在线观看| 国产一区二区三区视频在线观看| 日韩乱码在线视频| 91福利视频在线观看| 亚洲人成网站色ww在线| 欧美在线视频免费播放| 日韩电影免费观看在线观看| 亚洲日本中文字幕| 国产精品美女主播| 亚洲人成人99网站| 日韩美女在线播放| 欧美激情一二三| 国产精品永久免费在线| 美女福利视频一区| 最近中文字幕mv在线一区二区三区四区| 一级做a爰片久久毛片美女图片| 欧美伊久线香蕉线新在线| 日韩精品视频在线观看网址| 日韩av网站在线| 日韩精品在线免费观看视频| 亚洲高清不卡av| 性亚洲最疯狂xxxx高清| 中文欧美在线视频| 国产精品99一区| 最近中文字幕2019免费| 91在线免费观看网站| 国产经典一区二区| 国产午夜精品全部视频在线播放| 日韩免费av在线| 成人久久一区二区三区| 九九热最新视频//这里只有精品| 精品中文字幕在线观看| 久久免费精品视频| 久久久人成影片一区二区三区观看| 91中文精品字幕在线视频| 国产精品青草久久久久福利99| 欧美一级淫片播放口| 国产成人久久久精品一区| 亚洲区一区二区| 欧美日韩午夜视频在线观看| 久久久亚洲成人| 国产精品久久久久久久av电影| 最近的2019中文字幕免费一页| 一本大道香蕉久在线播放29| 久久夜精品va视频免费观看| 欧美久久久精品| 午夜精品久久久久久久白皮肤| 亚洲欧美日韩成人| 欧美电影免费观看电视剧大全| 欧美精品亚州精品| 欧美亚洲国产成人精品| 国产精品丝袜白浆摸在线| 国色天香2019中文字幕在线观看| 国产一区二区三区网站| 国产亚洲精品久久久久动| 亚洲国产精品成人一区二区| 黄网站色欧美视频| 91久久国产精品91久久性色| 亚洲精品日韩在线| 97久久精品人搡人人玩| 久久精品国产欧美亚洲人人爽| 91高清视频免费观看| 日韩视频免费大全中文字幕| 国产综合久久久久久| 91九色国产在线| 超碰91人人草人人干| 亚洲天堂男人的天堂| 91久久在线视频| 欧美肥老太性生活视频| 国产成人av在线播放| 欧美日韩aaaa| 久久久久久久久久久亚洲| 欧美黑人巨大精品一区二区| 欧美限制级电影在线观看| 亚洲黄在线观看| 2019中文字幕全在线观看| 久久视频国产精品免费视频在线| 91久久久久久久| 国产欧美日韩专区发布| 久久中文字幕一区| 欧美日韩中文字幕综合视频| 米奇精品一区二区三区在线观看| 国产精品美女久久| 日韩欧美在线视频日韩欧美在线视频| 成人久久久久爱| 日韩欧美在线视频免费观看| 日韩精品视频在线免费观看| 色综合伊人色综合网站| 亚洲人在线观看| 欧美在线视频一区| 国产精品免费在线免费| 亚洲精品一区二区在线| 欧美另类高清videos| 亚洲精美色品网站| 国产精品爱啪在线线免费观看| 97热在线精品视频在线观看| 亚洲欧美日韩在线高清直播| 懂色aⅴ精品一区二区三区蜜月| 国产亚洲精品久久久久久| 日韩av在线不卡| 国产一级揄自揄精品视频| 黑人与娇小精品av专区| 欧美最猛性xxxx| 日韩av在线直播| 久久久av电影| www国产精品视频| 91精品久久久久久综合乱菊| 国产日本欧美一区二区三区在线| 中文字幕最新精品| 亚洲国产精品人久久电影| 久久免费精品日本久久中文字幕| 日本久久亚洲电影| 色综合色综合久久综合频道88| 欧美激情网友自拍| 国产精品视频网址| 久久亚洲春色中文字幕| 欧美最顶级的aⅴ艳星| 夜夜躁日日躁狠狠久久88av| 久久精品成人一区二区三区| 中文字幕久热精品在线视频| 日韩欧美在线第一页| 青青草精品毛片| 欧美三级欧美成人高清www| 最近2019中文字幕第三页视频| 最近日韩中文字幕中文| 国产精品久久一区主播|