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;
}
相關文章
- 金額輸入校驗,限制小數點後兩位
- iOS開發若何更好的限制UITextField的輸入長度?iOSUI
- 表單限制字串輸入長度字串
- 文字框限制輸入字數效果
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- Angular.js 限制輸入框輸入內容,為純數字AngularJS
- input輸入框加入限制只能輸入正整數,輸入其他字元會自動清除字元
- 文字框限制輸入字數的JSJS
- EditText中輸入資訊的限制的方法
- vue element el-input輸入限制數字Vue
- element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- input 限制字數輸入時候 限制字數會出現負數
- 短視訊軟體開發,flutter 輸入框限制輸入 數字、小數Flutter
- Android 最簡單的限制輸入方式之一Android
- Python限制輸入數字的範圍常用方法!Python
- Qt 實現文字輸入框,帶字數限制QT
- iOS TextFiled,TextView 長度限制,表情限制iOSTextView
- 解決element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- vue---input只能輸入數字,且限制長度Vue
- 聊天室軟體原始碼中封裝一個金額輸入框元件的實現原始碼封裝元件
- wpf中DatePicker控制元件只能輸入年月,只能輸入年份,限制日期選擇範圍控制元件
- Excel還能限制輸入內容?其實這樣能有效避免人員輸入錯誤Excel
- Vue自定義指令實現input限制輸入正整數Vue
- iOS12訪問限制沒有了 ?iOS12訪問限制在哪iOS
- iOS 使用正則判斷輸入型別iOS型別
- iOS 仿即刻評論輸入框帶圖片iOS
- 直播軟體開發,限制富文字框輸入的字元數上限字元
- UITextView UITextField限制輸入字數以及精準剩餘字數顯示UITextView
- 安卓和ios鍵盤擋住輸入內容安卓iOS
- rn ios 下某些版本不能輸入中文問題iOS
- iOS開發使用UIKeyInput自定義密碼輸入框iOSUI密碼
- ios下引用MUI後input不能輸入,Android端正常iOSUIAndroid
- 恆大涉案金額達到此次金螳螂披露的合計涉案金額的95.57%
- SAP MM 採購ERP顧問諮詢費限制總金額的框架協議實現方案框架協議
- 支付寶二維碼生成,自定義金額,自定義備註資訊,不限制生成數量
- el-input 限制number型別,輸入中文,游標不垂直居中問題型別
- React Native踩坑指南:ios鍵盤遮擋輸入框React NativeiOS
- 03:因子 檢視 提交 統計 提問 總時間限制: 8000ms 記憶體限制: 65536kB 描述 輸入1個整數n。從小到大依次輸出n的所有因子。 輸入 1個整數n(n<20億) 輸出 升序輸出n的所記憶體