iOS金額輸入限制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField.text.length ==10) {
if ([string isEqualToString:@""]) {
return YES;
}
return NO;
}
if (textField == self.moneyField) {
if ([textField.text rangeOfString:@"."].location==NSNotFound) {
_isContainsPoint = NO;
}
if ([textField.text rangeOfString:@"0"].location==NSNotFound) {
_isFirstZero = NO;
}
if ([string length]>0){
unichar single=[string characterAtIndex:0];//當前輸入的字元
if ((single >='0' && single<='9') || single=='.')//資料格式正確
{
if([textField.text length]==0){
if(single == '.'){
textField.text = @"0";
_isContainsPoint = YES;
//首字母不能為小數點
return YES;
}
if (single == '0') {
_isFirstZero = YES;
return YES;
}
}
if (single=='.'){
if(!_isContainsPoint)//text中還沒有小數點
{
_isContainsPoint=YES;
return YES;
}else{
return NO;
}
}else if(single=='0'){
if ((_isFirstZero&&_isContainsPoint)||(!_isFirstZero&&_isContainsPoint)) {
//首位有0有.(0.01)或首位沒0有.(10200.00)可輸入兩位數的0
if([textField.text isEqualToString:@"0.0"]){
return NO;
}
//前方不可插入0 00.11返回NO
if ([string isEqualToString:@"0"]) {
if (range.location == 0) {
return NO;
}else if (_isFirstZero&&_isContainsPoint){
if (range.location == 1) {
return NO;
}
}
}
NSRange ran=[textField.text rangeOfString:@"."];
int tt=(int)(range.location-ran.location);
if (tt <= 2){
return YES;
}else{
return NO;
}
}else if (_isFirstZero&&!_isContainsPoint){
//首位有0沒.不能再輸入0
return NO;
}else{
return YES;
}
}else{
if (_isContainsPoint){
//存在小數點,保留兩位小數
NSRange ran=[textField.text rangeOfString:@"."];
int tt= (int)(range.location-ran.location);
if (tt <= 2){
return YES;
}else{
return NO;
}
}else if(_isFirstZero&&!_isContainsPoint){
//首位有0沒點
return NO;
}else{
return YES;
}
}
}else{
//輸入的資料格式不正確
return NO;
}
}else{
return YES;
}
}
return YES;
}
相關文章
- EditText輸入金額型別型別
- js核算輸入是否為金額JS
- iOS Swift 輸入框限制長度iOSSwift
- iOS 限制textField輸入的長度iOS
- 微信發紅包UITextField金額輸入格式化UI
- JavaScript將輸入的數字金額轉換成對應的中文大寫金額JavaScript
- iOS開發若何更好的限制UITextField的輸入長度?iOSUI
- 表單限制字串輸入長度字串
- javascript限制文字框輸入長度JavaScript
- 限制鍵盤輸入字元/位數字元
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- Angular.js 限制輸入框輸入內容,為純數字AngularJS
- input輸入框加入限制只能輸入正整數,輸入其他字元會自動清除字元
- EditText中輸入資訊的限制的方法
- 文字框限制輸入字數的JSJS
- vue element el-input輸入限制數字Vue
- jQuery限制文字框輸入長度詳解jQuery
- UITextView如何精準限制文字輸入長度UITextView
- element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- iOS 程式碼限制textField的輸入長度並且刪除按鈕還得有效iOS
- 聊天室軟體原始碼中封裝一個金額輸入框元件的實現原始碼封裝元件
- 短視訊軟體開發,flutter 輸入框限制輸入 數字、小數Flutter
- input 限制字數輸入時候 限制字數會出現負數
- ios OC 輸入框禁止輸入空格/去掉空格/只能輸入字母和數字iOS
- iOS 防止輸入時鍵盤覆蓋掉輸入框iOS
- Qt 實現文字輸入框,帶字數限制QT
- 解決element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- plsql小寫金額轉大寫金額函式SQL函式
- 金額轉換
- Android 最簡單的限制輸入方式之一Android
- Python限制輸入數字的範圍常用方法!Python
- 限制文字框只能輸入數字:Asp.net&C#ASP.NETC#
- 限制HTML的input只能輸入數字、英文、漢字...HTML
- SQLPLUS 下輸入命令的字元長度限制SQL字元
- 專案需求討論--可能是用InputFilter來做的最好的金額限制Filter
- iOS清除輸入框內陰影iOS
- Excel還能限制輸入內容?其實這樣能有效避免人員輸入錯誤Excel
- wpf中DatePicker控制元件只能輸入年月,只能輸入年份,限制日期選擇範圍控制元件