iOS 格式化电话号码 (3 4 4 位空格分割)

这篇博客介绍了如何在iOS应用中,当用户在文本框输入电话号码时,实时按照3-4-4的格式(如130 1234 1234)进行动态显示。文章提到了使用UITextFieldDelegate,并提供了Swift和Objective-C的实现代码片段,旨在方便开发者快速查找和复用相关功能。
摘要由CSDN通过智能技术生成

在文本框输入电话号码时,按照 3 4 4 的格式动态显示(如 130 1234 1234)

首先添加上UITextField的代理 UITextFieldDelegate

Swift

    private var phoneContent = ""
    private var previousSelection = UITextRange()
    
    private lazy var textFieldPhone: UITextField = {
   
        let newTextField = UITextField()
        newTextField.delegate = self
        newTextField.addTarget(self, action: #selector(textFieldChange(_:)), for: .editingChanged)
         
        return newTextField
    }()
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
   
        if textFieldPhone == textField {
   
            phoneContent = textField.text ?? ""
            if phoneContent.count >= 13 && string.count > 0 {
   
                print("手机号码为11位")
                return false
            }
            previousSelection = textField.selectedTextRange ?? UITextRange()
        } 
        return true
    }
@objc func textFieldChange(_ textField: UITextField) {
   
        let text = textField.text ?? ""
        if textFieldPhone == textField 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值