微信發紅包UITextField金額輸入格式化
UITextField是iOS上常用的輸入框,對其輸入進行格式化顯示是常態,這兒羅列兩種常用格式化:
微信發紅包UITextField金額輸入格式化,
銀行卡格式化
消化後就可以自己寫其他格式化樣式。
微信發紅包UITextField金額輸入格式化
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *text = _textField.text;
NSString *decimalSeperator = @".";
NSCharacterSet *charSet = nil;
NSString *numberChars = @"0123456789";
if ([string isEqualToString:decimalSeperator] && [text length] == 0) {
return NO;
}
NSRange decimalRange = [text rangeOfString:decimalSeperator];
BOOL isDecimalNumber = (decimalRange.location != NSNotFound);
if (isDecimalNumber) {
charSet = [NSCharacterSet characterSetWithCharactersInString:numberChars];
if ([string rangeOfString:decimalSeperator].location != NSNotFound) {
return NO;
}
}
else {
numberChars = [numberChars stringByAppendingString:decimalSeperator];
charSet = [NSCharacterSet characterSetWithCharactersInString:numberChars];
}
NSCharacterSet *invertedCharSet = [charSet invertedSet];
NSString *trimmedString = [string stringByTrimmingCharactersInSet:invertedCharSet];
text = [text stringByReplacingCharactersInRange:range withString:trimmedString];
if (isDecimalNumber) {
NSArray *arr = [text componentsSeparatedByString:decimalSeperator];
if ([arr count] == 2) {
if ([arr[1] length] > 2) {
return NO;
}
}
}
textField.text = text;
return NO;
}
銀行卡格式化
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *text = [textField text];
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
string = [string stringByReplacingOccurrencesOfString:@" " withString:@""];
if ([string rangeOfCharacterFromSet:[characterSet invertedSet]].location != NSNotFound) {
return NO;
}
text = [text stringByReplacingCharactersInRange:range withString:string];
text = [text stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *newString = @"";
while (text.length > 0) {
NSString *subString = [text substringToIndex:MIN(text.length, 4)];
newString = [newString stringByAppendingString:subString];
if (subString.length == 4) {
newString = [newString stringByAppendingString:@" "];
}
text = [text substringFromIndex:MIN(text.length, 4)];
}
newString = [newString stringByTrimmingCharactersInSet:[characterSet invertedSet]];
if (newString.length >= 24) {
return NO;
}
textField.text = newString;
return NO;
}
相關文章
- 微信紅包限額臨時調至520元 微信520紅包怎麼發?
- 微信商戶 API 發紅包!API
- 微信發支付寶紅包(花唄)
- 微信公眾號下發紅包 -- PHPPHP
- iOS金額輸入限制iOS
- 一個PHP檔案搞定微信支付系列之現金紅包PHP
- 微信小程式搶紅包高併發設計微信小程式
- 淺析微信支付:商戶平臺開通現金紅包、指定使用者發放、紅包記錄查詢
- iOS開發若何更好的限制UITextField的輸入長度?iOSUI
- 開發微信搶紅包軟體被罰475萬!
- Python教你全自動搶微信紅包Python
- 如何做微信紅包封面專案?
- 七夕情人節發微信紅包吉利數字 情人節發紅包什麼數字寓意好
- 微信:除夕夜使用者搶微信紅包50.8億個
- 微信請吃1000萬份霸王餐!史上最“豐滿”的現金紅包
- 格式化輸入輸出
- 分享一個仿微信模擬器,可以快速模擬微信對話,微信紅包等。
- 微信:2023年春節使用者發紅包超40億次
- 企業微信如何發紅包功能激發活躍群內客戶呢
- 格式化輸入和輸出
- 模擬微信搶紅包demo,生成隨機數隨機
- 寫一個格式化金額的方法
- 金額輸入校驗,限制小數點後兩位
- 微信:2021年雲上春節社交生活報告 廣東收發微信紅包總次數均最多
- 微信小程式開發系列五:微信小程式中如何響應使用者輸入事件微信小程式事件
- Redis秒殺系統架構設計-微信搶紅包Redis架構
- 用PPT做的微信紅包封面還可以這麼玩?
- 微信小程式input輸入框設定最大可輸入字元數量微信小程式字元
- iOS逆向(7)-LLDB,自制LLDB指令碼,竄改微信紅包金額iOSLLDB指令碼
- 東莞高仿包批發微信
- PHP 微信支付通知金額不一致的問題PHP
- [vue] 表單輸入格式化,中文輸入法異常Vue
- UITextView UITextField限制輸入字數以及精準剩餘字數顯示UITextView
- “親,來一個”使用Yii2實現微信發紅包解決方法 – EasyWechat版本
- UITextFieldUI
- 快過年了,如何使用 AutoJS 自動化快速搶微信紅包!JS
- 微信:2021國慶微信資料包告
- 微信登入
- Vue 表情包輸入元件Vue元件