func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
var text = textField.text! as NSString
//设置格式为数字
let characterSet = NSCharacterSet(charactersInString: "0123456789")
//去掉空格
let str = string.stringByReplacingOccurrencesOfString(" ", withString: "")
let nsStr = str as NSString
if nsStr.rangeOfCharacterFromSet(characterSet.invertedSet).location != NSNotFound {
return false
}
//将输入的数字添加给textfield
text = text.stringByReplacingCharactersInRange(range, withString: string)
//去掉空格
text = text.stringByReplacingOccurrencesOfString(" ", withString: "")
var newString = ""
while text.length > 0 {
let substring = text.substringToIndex(getMin(text.length, num2: 4))
newString = newString.stringByAppendingString(substring)
if substring.characters.count == 4 {
newString = newString.stringByAppendingString(" ")
}
text = text.substringFromIndex(getMin(text.length, num2: 4))
}
newString = newString.stringByTrimmingCharactersInSet(characterSet.invertedSet)
if newString.characters.count >= 20 { //设置银行卡位数为16
return false
}
numberTextField.text = newString
return false
}
func getMin(num1 : Int, num2: Int) -> Int {
if num1 <= num2 {
return num1
}else{
return num2
}
}
银行卡号输入格式化-swift
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题描述 TextField中输入身份证号,手机号,银行卡号时每隔几位需要添加空格。当输入错误时需要从末尾或者中间...
- TextFieldDemo 点击查看Demo 以前项目中,有需要输入银行卡号的需求(每4位空格)所以 做了个小D...
- 跪求关注,最近准备离职,想把博客撑上去好找工作,不求喜欢,求关注,谢谢了 最近整理一下之前的代码,实现高度封装和复...
- 项目中要实现: 银行卡的输入, 一般要求实现 输入每4位分隔; tableViewCell中显示银行卡数字一般以*...