#define myDotNumbers @"0123456789.\n"
#define myNumbers @"0123456789\n"
#pragma mark - textFieldDelegate
// textField輸入金額的限制,小數(shù)點前9位,后面兩位,如果不加小數(shù)點,最大位數(shù)是9位,加上小數(shù)點,最大位數(shù)是12位,超出最大位數(shù)可刪除
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *) string {
// 判斷是否輸入內(nèi)容技扼,或者用戶點擊的是鍵盤的刪除按鈕
if (![string isEqualToString:@""]) {
NSCharacterSet *cs;
// 小數(shù)點在字符串中的位置 第一個數(shù)字從0位置開始
NSInteger dotLocation = [textField.text rangeOfString:@"."].location;
// 判斷字符串中是否有小數(shù)點贞绳,并且小數(shù)點不在第一位
// NSNotFound 表示請求操作的某個內(nèi)容或者item沒有發(fā)現(xiàn)赁咙,或者不存在
// range.location 表示的是當前輸入的內(nèi)容在整個字符串中的位置什猖,位置編號從0開始
if (dotLocation == NSNotFound && range.location != 0) {
// 取只包含“myDotNumbers”中包含的內(nèi)容野宜,其余內(nèi)容都被去掉
/* [NSCharacterSet characterSetWithCharactersInString:myDotNumbers]的作用是去掉"myDotNumbers"中包含的所有內(nèi)容乔妈,只要字符串中有內(nèi)容與"myDotNumbers"中的部分內(nèi)容相同都會被舍去在上述方法的末尾加上invertedSet就會使作用顛倒,只取與“myDotNumbers”中內(nèi)容相同的字符
*/
cs = [[NSCharacterSet characterSetWithCharactersInString:myDotNumbers] invertedSet];
if (range.location >= 9) {
NSLog(@"單筆金額不能超過億位");
if ([string isEqualToString:@"."] && range.location == 9) {
return YES;
}
return NO;
}
}else {
cs = [[NSCharacterSet characterSetWithCharactersInString:myNumbers] invertedSet];
}
// 按cs分離出數(shù)組,數(shù)組按@""分離出字符串
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
if (!basicTest) {
NSLog(@"只能輸入數(shù)字和小數(shù)點");
return NO;
}
if (dotLocation != NSNotFound && range.location > dotLocation + 2) {
NSLog(@"小數(shù)點后最多兩位");
return NO;
}
if (textField.text.length > 11) {
return NO;
}
}
return YES;
}
iOS textField輸入金額限制
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門薯定,熙熙樓的掌柜王于貴愁眉苦臉地迎上來始绍,“玉大人,你說我怎么就攤上這事话侄】魍疲” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵满葛,是天一觀的道長径簿。 經(jīng)常有香客問我,道長嘀韧,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任缠捌,我火速辦了婚禮锄贷,結果婚禮上,老公的妹妹穿的比我還像新娘曼月。我一直安慰自己谊却,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布哑芹。 她就那樣靜靜地躺著炎辨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪聪姿。 梳的紋絲不亂的頭發(fā)上碴萧,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼羽德!你這毒婦竟也來了几莽?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布蛉抓,位于F島的核電站,受9級特大地震影響剃诅,放射性物質(zhì)發(fā)生泄漏巷送。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一矛辕、第九天 我趴在偏房一處隱蔽的房頂上張望笑跛。 院中可真熱鬧,春花似錦聊品、人聲如沸飞蹂。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽陈哑。三九已至,卻和暖如春伸眶,著一層夾襖步出監(jiān)牢的瞬間惊窖,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 判斷輸入錢的正則表達式署辉,可輸入正負族铆,小數(shù)點前5位,小數(shù)點后2位哭尝,位數(shù)可控 UItextField 代理方法 -(B...
- textfield使用過程中,很多時候有限制條件,雖然不難,但是細節(jié)上還是有很多要處理.代碼中列出常見的細節(jié)bug...
- 輸入框中的字符串長度限制問題哥攘,用到的地方很多。通常情況會使用textfield的這個代理方法: 這個方法會在每次t...
- 企業(yè)級應用開發(fā) 無需將設備的UDID加入到開發(fā)者網(wǎng)站上的Device中 公司有個人的手機(iPhone 6s Pl...