1. 程式人生 > >IOS TextField 輸入銀行卡號格式化(每四位中間空一格)

IOS TextField 輸入銀行卡號格式化(每四位中間空一格)

最近做的專案有關於銀行卡號輸入的情景設定,參照微信綁卡操作,輸入卡號數字每隔4位空1位。


由於趕進度,沒細作研究,特此網上摘錄的程式碼片段,如下:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    
    if (textField == self.text_cardno) {
        NSString *text = [self.text_cardno text];
        
        NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789\b"];
        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;
        }
        
        [self.text_cardno setText:newString];
        
        return NO;
        
    }
    return YES;
}

// 銀行卡號轉正常號 - 去除4位間的空格
-(NSString *)bankNumToNormalNum
{
    return [self.text_cardno.text stringByReplacingOccurrencesOfString:@" " withString:@""];
}

轉自

相關推薦

IOS TextField 輸入銀行卡格式化中間

最近做的專案有關於銀行卡號輸入的情景設定,參照微信綁卡操作,輸入卡號數字每隔4位空1位。 由於趕進度,沒細作研究,特此網上摘錄的程式碼片段,如下: -(BOOL)textField:(UITextField *)textField shouldChangeCharact

輸入銀行卡隔4數字加一個空格小細節

document.getElementById('bankCardInp').onkeyup = function (event) { var v = this.value; console.log(/\S{5}/.test(v)); conso

銀行卡新增一個空格

前端頁面展示需要加上空格, this.cardnum.replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, '$1 '); 而上傳後臺時往往需要去掉空格, this.cardnum.replace(/\s/g, "") 金額最多輸入小數點後兩

JS格式化數字加逗號

正則 == ace 表達式 截取 counter reg 我們 substr // 方法一function toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toStrin

iOS TextField輸入價格,只能輸入數字、小數點且保留兩

1.只能輸入.0~9,其他字元不可輸入 2.有且只有一個小數點 3.第一個字元為0,第二個必須輸入. 4.第一個字元為. 前面自動加0 5.小數點後面最多隻能輸入兩位 - (BOOL)te

部分銀行卡規則

1.中國銀行 普通卡卡號都是19位,信用卡一般是16位,還有理財白金卡、金卡等大客戶卡都是18位。 銀行卡號由以下三部分組成:髮卡行標識程式碼(BIN號)、髮卡行自定義位、校驗碼。 銀行卡號的前6位是

iOS UILable 文字添加圖片 文字前面,中間,後面添加圖

str nbsp tab 添加 tac nsa end agen mut 1,實例化一個UILable 2, // 創建一個富文本 NSMutableAttributedString *attri = [[NSMutableAttributedString

js將串隨機數字加一個自定義符號格式:1234-5678-90

方法一:      let string = '1234567890',result = '', index = 0; for(let i=0; i<string.length; i++){      result +=

iOS獲取裝置唯一的UUID解決刪除應用UUID變更的問題

這是蘋果開發者中心官方提供的,放心下載。 把這兩個檔案拖入工程,然後按下圖進行設定(①新增security.framework框架②KeychainItemWrapper.m檔案用的是MRC,需要新增-fno-objc-arc) 然後在APPDelegate中引入標頭檔

C++上機報告,任意輸入三條邊a,b,c實型,若能構成三角形,則計算並輸出其面積,否則輸出標No Triangle!

上機內容:輸出三角形的面積 上機目的:熟悉迴圈結構 我的程式: /* * 程式的版權和版本宣告部分: * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:2.cpp * 作

iOS拍照後使用該圖片獲取照片的ALasset傳到相簿

問題: 拍照後,點選選擇照片在-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 的代

Java微信支付開發之公眾支付微信內H5調起支付

官方文件準備工作:已通過微信認證的公眾號,必須通過ICP備案域名(否則會報支付失敗)借鑑了很多大神的文章,在此先謝過了整個支付流程,看懂就很好寫了一、設定支付目錄在微信公眾平臺設定您的公眾號支付支付目錄,設定路徑見下圖。公眾號支付在請求支付的時候會校驗請求來源是否有在公眾平臺

C++判斷使用者輸入路徑是否正確判斷碟符是否存在以及“\”與"/"

直接上程式碼,用了windows.h裡的函式獲取碟符 #include <iostream> #include <Windows.h> #include <string.h> #include <string> #includ

js 數字格式化千分,保留幾小數,四捨五入

function formatNumber(num,cent,isThousand) { num = num.toString().replace(/\$|\,/g,'');

iOS開發之自定義鍵盤數字,字母型別等隨意切換

專案開發很多時候用系統給的鍵盤不是很滿足自身實際需求,那就自定義一個吧: 方法其實很簡單,重新定義一個view,繼承UItextfield,把UI設計好的需求鍵盤加入新的otherKeyboardView,然後執行程式碼:  self.inputView =self.oth

連結串列翻轉K個結點進行次逆置

連結串列翻轉 給出一個連結串列和一個數k,比如連結串列1→2→3→4→5→6 若k=2,翻轉後2→1→4→3→6→5, 若k=3,翻轉後3→2→1→6→5→4, 若k=4,翻轉後4→3→2→1→5→6

IOS---自動初始化各個ViewController可用於UITableView中的跳轉

直接上程式碼 //設定各個ViewController的名字 NSString *viewControllerClassName = [NSString stringWithFormat:@"ViewController%@", @(indexPath

iOS繪圖CALayer、UIBezierPath運用邊框、填充、複製、漸變

_yReplicatorLayer.frame= _xReplicatorLayer.frame= CGRectMake(_YLabelWidth,_YunitLabelHeight,_mainView.frame.size.width-_YLabelWidth-_spaceWidth,_mainView

Java章和第五章

簡潔 重復 清晰 快速 結束 編寫 int() input 出現 第四章 一、 switch結構(開關語句)的語法 switch(表達式[dream1] ){ case 常量1[dream2] : //語句塊1

第三次作業次不要電梯了吧

字符 ace end 內容 第四次 關閉 uri ifs ios 電梯 倉庫地址:https://github.com/vjudge0913/FZU_homework3 題目: 一棟10層的大樓(樓層編號1-10),設有一臺無限載重的電梯,初始時電梯停在1層。電梯移動1層的