UITextField的游標定位在任意位置及銀行卡號的輸入問題
self.inputTextField.delegate=self;
//調取數字鍵盤
self.inputTextField.keyboardType = UIKeyboardTypeNumberPad;
在textfield的delegate方法中:
#pragma mark ------TextFieldDelegate---------- - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { // NSLog(@"string=%@",string); // NSLog(@"range location=%ld,length=%ld",range.location,range.length); NSString *BeString; if ([string isEqualToString:@""]) { //刪除資料 BOOL isKong=NO;//是否要刪除的是空格 NSString *ss=[textField.text substringWithRange:NSMakeRange(range.location, 1)]; if ([ss isEqualToString:@" "]) { //刪除空格 isKong=YES; if (range.location==0) {//第一個字母是空格 NSLog(@"textfied==%@",textField.text); return YES; } textField.text=[textField.text stringByReplacingCharactersInRange:NSMakeRange(range.location-1, 1) withString:@" "]; BeString=textField.text; }else{ BeString=[textField.text stringByReplacingCharactersInRange:NSMakeRange(range.location, 1) withString:@" "]; } //對被刪除之後的資料去空格,重新加空格,末尾不要空格 textField.text=[self getSpace4StringWith:BeString lastHaveSpace:NO]; if (range.location>[textField.text length]) { textField.text=[textField.text stringByAppendingString:@" "]; }else{ textField.text=[NSString stringWithFormat:@"%@ %@",[textField.text substringToIndex:range.location],[textField.text substringFromIndex:range.location] ]; if (isKong) { [textField setSelectedRange:NSMakeRange(range.location, 1)]; }else{ [textField setSelectedRange:NSMakeRange(range.location, 1)]; } } NSLog(@"Bestring=%@",BeString); return YES; }else{ BeString=[textField.text stringByReplacingCharactersInRange:range withString:@"s"]; } if (BeString.length>23) { //只能輸入19位 textField.text = [textField.text substringToIndex:23]; return NO; } // NSLog(@"beString=%@",BeString); textField.text=[self getSpace4StringWith:BeString lastHaveSpace:YES]; NSLog(@"tt=%@",textField.text); //得到字元“s”的位置,將它定為游標的位置 NSRange sRange=[textField.text rangeOfString:@"s"]; textField.selectedRange=sRange; return YES; } //得到4個字元之間以空格相間隔的字串,最後一串若是4個字元,那麼最後一位要不要空格,要則hasSpace=YES,不要則hasSpace=NO -(NSString *)getSpace4StringWith:(NSString *)str lastHaveSpace:(BOOL)hasSpace { NSString *BeString=[str stringByReplacingOccurrencesOfString:@" " withString:@""]; NSString *
[email protected]""; while (BeString.length>4) { NSString *little=[BeString substringToIndex:4]; finalStr=[finalStr stringByAppendingFormat:@"%@ ",little]; BeString=[BeString substringFromIndex:4]; } finalStr=[finalStr stringByAppendingString:BeString]; if (hasSpace) { if (BeString.length==4) { finalStr=[NSString stringWithFormat:@"%@ ",finalStr]; } } return finalStr; }
相關推薦
UITextField的游標定位在任意位置及銀行卡號的輸入問題
self.inputTextField.delegate=self; //調取數字鍵盤 self.inputTextField.keyboardType = UIKeyboardTypeNumberPad; 在textfield的delegate方法中: #pragma mark ------TextFie
js根據銀行卡號判斷屬於哪個銀行,並返回銀行縮寫及銀行卡型別https://www.cnblogs.com/zhoubingyan/p/8334981.html
在做繫結銀行卡,輸入銀行卡的時候,產品有這麼一個需求,需要使用者輸入銀行卡號的時候,顯示對應的銀行卡名稱及簡稱。於是苦苦尋覓,終於找到了支付寶的開放API,銀行卡校驗介面 https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?ca
根據銀行卡號 獲取銀行名稱及銀行logo
根據銀行卡號碼獲取銀行卡歸屬地資訊介面地址: https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=銀行卡卡號&cardBinCheck=true 就是普通的get請求,然後
JavaScript 獲取輸入時的游標位置及場景問題
前言 在輸入編輯的業務場景中,可能會需要在游標當前的位置或附近顯示提示選項。 比如社交評論中的@user功能,要確保提示的使用者列表總是出現在@字元右下方,又或者是在自定義編輯器中 autocomplete 語法提示,都需要獲取游標當前的位置作為參照點。 兩種
顯示scrollview時對滾動條進行任意位置的定位
在android開發中很多時候會遇到一屏顯示不下所有內容的現象,那大家也知道這個時候肯定會想到用scrollview來進行滾屏顯示。 這個時候由於某些需求,會要求在最開始顯示scrollview的時候就定位到某一處,這篇博文就是來講這個的哈~ 首先,scrollView.s
Excel中關於銀行卡號的應用即每隔4位加個空格及刪除空格
在本文將為大家分享一個關於銀行卡號的應用,如銀行卡號為3303271988090725,接下來我們要做的就是每隔4位加個空格。我們很容易想到的就是用mid來擷取位數,還有連線函式加上空格。同樣去掉這每隔4個位置的空格我們會想到substitute文字函式,有了思路就差實現了
UITextField 游標的位置獲取和設定
今天做一個自定義數字鍵盤的控制元件,有需要獲取到游標位置,所以在網上找到了一段程式碼,主要是獲取游標的位置和設定游標的位置,貼出來。 /** * 游標選擇的範圍 * * @return 獲取游標選擇的範圍 */ - (NSRange)selecte
[轉]銀行卡號位數
content gin add 建行 detail 借記卡 body mage 微信支付 本文內容來自:http://kf.qq.com/faq/140225MveaUz150819mYFjuE.html 微信商戶常用銀行賬號長度參考表 微信支付支持的銀行賬號長度,如下表
JS校驗銀行卡號、輸入卡號時放大效果
比較 left for 取出 abs focusout htm length rep 一、(校驗格式) function CheckBankNo(t_bankno) { var bankno = $.trim(t_bankno); if(bankno == ""
在任意位置為stringbuffer 添加內容
print 插入 fse logs 序列 n) 字符串 set pac package tianjia.cn; /* * 在任意位置 添加內容 * api方法: * StringBuffer insert(int offset, boolean b)
wndr4300刷任意系統及刷回官方原廠系統
ftp 方法 升級 png 但是 更新 -o 都是 mount 4300是目前性價比比較高的可玩路由器了,如果要買的話要買v1版本的,目前賣的都是v2,v2刷不了第三方系統。 註意:如果帶寬低於50M,可以隨便刷第三方系統玩,如果高於50M的帶寬或者想組建千兆局域網,就不要
jquery 點擊彈出層自身以外的任意位置,關閉彈出層
top stop 關閉 click spl bsp *** doc mask <!--彈出層---> <div class="mask"> <div class="wrap"></div> </div>
Android 在Android手機上獲取其他應用的包名及版本號
string android手機 app名 fin 產品 logo 信息 led 直接 獲取Android手機上其他應用的包名及版本號方法有很多,可以通過AAPT從APK包中直接獲取,也可以通過代碼在手機上獲取。顯然,對於產品或者用戶來說要獲取這些信息,在手機上獲取更為簡便
動態創建table,按回車鍵自動切換光標位置及金額統計Js代碼實現
tex move break mov sel 自動 false click ipp 1.JS頁面輸出拼接的Table代碼,參數來自於Ajax請求響應回來的Json數據 $("#rightTipPayBackTb").append("<tr><td>
java檢驗銀行卡號
string 數字 urn 獲得 har eba 過程 class int /* 校驗過程: 1、從卡號最後一位數字開始,逆向將奇數位(1、3、5等等)相加。 2、從卡號最後一位數字開始,逆向將偶數位數字,先乘以2(如果乘積為兩位數,將個
JS input 銀行卡號格式轉換
news tel lang doctype onkeydown htm files head nbsp 傳送門:http://demo.sc.chinaz.com//Files/DownLoad/webjs1/201411/jiaoben2920/ <!DOCT
通過銀行卡號識別歸屬銀行,php方式
無錫 turn 備註 += 數據 德陽 美國 普通 雪蓮 這個例子不是很全,要做到齊全必須使用數據庫字典來索引,而且數據量龐大,建議生產使用時限制幾大行就行,直接不支持其他小行。此案例拋磚引玉 /** * 銀行卡信息識別相關類 * 把bin號轉化為長整形,再把各個銀行
隱藏部分號碼為星號,過濾銀行卡號、手機號
urn div fun -s obj setattr car ace function 效果展示: 直接上代碼: <!DOCTYPE html> <html lang="en"> <head> <meta chars
三、mysql登錄詳解及版本號查詢
ppa l數據庫 server gpo 方法 win sql查詢 spa nbsp 1.用window+r,輸入cmd,用mysql -uuser -ppassword登錄時出現‘mysql’不是有效的內部命令? 答:這是因為沒有配置My
iOS 【UIKit-UIPageControl利用delegate定位圓點位置 之 四舍五入小技巧】
優化 距離 scroll current control 水平 技術 觸發 src 在UIScrollView中會加入UIPageControl作為頁碼標識,能夠讓用戶清楚的知道當前的頁數。我們須要優化的一點是讓pageControl