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

首頁 > 系統 > iOS > 正文

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

2019-10-21 18:42:18
字體:
來源:轉載
供稿:網友

前言

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

一、只能輸入純數字

在這里以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來設置了,實現起來超簡單。

限制只能輸入中文

在這里用到了觀察者

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

總結

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97国产在线视频| 日韩av在线影院| 成人激情在线播放| 超碰97人人做人人爱少妇| 久久久最新网址| 亚洲自拍高清视频网站| 97视频在线观看免费高清完整版在线观看| 日韩国产高清视频在线| 91人成网站www| 亚洲最大av在线| 精品自拍视频在线观看| 啊v视频在线一区二区三区| 欧美影院在线播放| 亚洲精品一区二区在线| 欧美肥老妇视频| 乱亲女秽乱长久久久| 久久免费高清视频| 久久久久久国产精品久久| 九九九热精品免费视频观看网站| 成人免费视频在线观看超级碰| 国产午夜精品一区理论片飘花| 日本19禁啪啪免费观看www| 亚洲18私人小影院| 亚洲va电影大全| 最近2019中文字幕在线高清| 伊人伊成久久人综合网小说| 国自产精品手机在线观看视频| 成人看片人aa| 国产精品视频免费在线| 岛国视频午夜一区免费在线观看| 欧美午夜www高清视频| 2023亚洲男人天堂| 在线不卡国产精品| 久久精品这里热有精品| 日韩免费观看高清| 91黄色8090| 欧美大尺度电影在线观看| 欧美高清在线视频观看不卡| 国产69久久精品成人看| 亚洲激情电影中文字幕| 亚洲第一黄色网| 亚洲美女在线观看| 欧美壮男野外gaytube| 久久在线免费视频| 亚洲理论片在线观看| 日韩av免费看网站| 热久久99这里有精品| 欧美日韩中国免费专区在线看| 亚洲视频在线观看| 国产最新精品视频| 久久久久久久91| 亚洲aⅴ日韩av电影在线观看| 国产精品美女主播在线观看纯欲| 2020久久国产精品| 国产又爽又黄的激情精品视频| 原创国产精品91| 国产区亚洲区欧美区| 午夜精品www| 久久久精品中文字幕| 国产精品十八以下禁看| 亚洲第一精品夜夜躁人人躁| 日韩精品在线第一页| 日韩在线中文字| 上原亚衣av一区二区三区| 色樱桃影院亚洲精品影院| 亚洲天堂一区二区三区| 欧美激情影音先锋| 亚洲美女动态图120秒| 国产精品第七影院| 亚洲国产黄色片| 91精品久久久久久久久久另类| 国产精品久久久久久久9999| 亚洲欧美色婷婷| 国产欧美日韩精品在线观看| 国产精品99久久久久久久久| 欧美一区三区三区高中清蜜桃| 69国产精品成人在线播放| 久操成人在线视频| 亚洲精品视频网上网址在线观看| 九九精品在线观看| 亚洲成人三级在线| 中文欧美在线视频| 久久久久久久久久久人体| 亚洲激情视频网| 亚洲免费电影在线观看| 色偷偷偷综合中文字幕;dd| 国产精品国产福利国产秒拍| 国产精品免费网站| 国产在线拍揄自揄视频不卡99| 原创国产精品91| 久久久久久九九九| 亚洲永久在线观看| 色综合久久精品亚洲国产| 国产一区二区三区丝袜| 成人在线视频福利| 国产精品无av码在线观看| zzijzzij亚洲日本成熟少妇| 亚洲欧美国产日韩天堂区| 亚洲精品不卡在线| 亚洲精品www| 91福利视频在线观看| 欧美亚洲另类制服自拍| 亚洲视频777| 成人a在线视频| 亚洲国产精久久久久久| 久久综合久久八八| 亚洲精品suv精品一区二区| 色偷偷偷亚洲综合网另类| 欧美日韩精品二区| 亚洲人永久免费| 亚洲视频综合网| 久久亚洲综合国产精品99麻豆精品福利| 久久97精品久久久久久久不卡| 国产亚洲一区二区精品| 精品国产网站地址| 中文字幕亚洲无线码a| 欧美日韩裸体免费视频| 在线观看中文字幕亚洲| 精品中文字幕久久久久久| 色偷偷91综合久久噜噜| 6080yy精品一区二区三区| 久久精品2019中文字幕| 精品欧美aⅴ在线网站| 国产一区二区丝袜高跟鞋图片| 久久91亚洲精品中文字幕奶水| 国产性猛交xxxx免费看久久| 国模精品系列视频| 国产日韩在线观看av| 91精品国产高清久久久久久91| 国产丝袜一区视频在线观看| 国产99久久精品一区二区永久免费| 久久国产精品网站| 欧美疯狂做受xxxx高潮| 亚洲性生活视频在线观看| 亚洲第一区中文字幕| 欧美黄色免费网站| 97欧美精品一区二区三区| 欧美激情亚洲另类| 久久久亚洲国产天美传媒修理工| 亚洲欧洲黄色网| 中文字幕视频一区二区在线有码| 亚洲美女在线观看| 欧美大人香蕉在线| 日本午夜在线亚洲.国产| 亚洲男人第一av网站| 国产精品高潮呻吟久久av无限| 性亚洲最疯狂xxxx高清| 欧美夫妻性生活xx| 久久久亚洲精品视频| 久久夜色精品国产| 亚洲大胆人体视频| 成人国产亚洲精品a区天堂华泰| 欧美一区视频在线| 国产一区二区香蕉| 国产视频综合在线| 国产91对白在线播放| 亚洲黄色www网站| 久久亚洲精品一区二区| 久久久久亚洲精品国产| 在线日韩欧美视频| 成人免费淫片aa视频免费| 一区二区在线视频播放| 国产欧美日韩专区发布| 精品国产91久久久|