Swift 中判断String为合法的电话号码、邮箱、身份证号的正则及实现

1、简介

在App开发中,涉及到用户登录时,我们经常需要检验用户输入的账户是否是我们指定的类型。例如判断用户的账号是不是正确的手机号、邮箱等。

2、实现

在Swift里我们可以通过如下代码轻松的实现字段串相关类型的判断

import Foundation

extension String {

    func isvalitemobile() -> Bool {
        let mobileRegex = "^((13[0-9])|(15[^4,\\D])|(18[0,0-9])|(17[0,0-9]))\\d{8}$"
        let mobileTest:NSPredicate = NSPredicate(format: "SELF MATCHES %@", mobileRegex)
        return mobileTest.evaluate(with: self)
    }
    
    func isvaliteemail() -> Bool {
        let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
        let emailTest:NSPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex)
        return emailTest.evaluate(with: self)
    }
    
    func isvaliteidnum() -> Bool {
        let idRegex = "^(\\d{14}|\\d{17})(\\d|[xX])$"
        let idTest:NSPredicate = NSPredicate(format: "SELF MATCHES %@", idRegex)
        return idTest.evaluate(with: self)
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 朋友家的一只灰兔,刚生下来就在笼子里养着,毛色雪亮性情乖巧,朋友说它愚笨,我不以为然。 我常去看它,隔着笼子喂食、...
    邊思文阅读 189评论 0 0
  • ❤ 我身边有太多这样的人都是默默为着自己的目标而努力,她们不张扬自己的野心,不显摆自己...
    敏叔宇阅读 151评论 0 1
  • 在实际开发中,我们往往需要配置多个运行环境,比如测试版和证书版,同一套代码,需要生产两个名字不一样,证书不一样,服...
    梦想飞的鱼1阅读 1,855评论 1 3