Swift:邮箱网址手机号码等正则判断

Swift 正则表达式 验证手机号、邮箱、URL等 enum ValidatedType {     case Email     case PhoneNumber } func ValidateText(validatedType type: ValidatedType, validateString: String) -> Bool {     do {         let pattern: Str 阅读详情

邮箱网址手机号码等正则判断

import Foundation

enum Validate {
    case email(_: String)
    case phoneNum(_: String)
    case carNum(_: String)
    case username(_: String)
    case password(_: String)
    case nickname(_: String)

    case URL(_: String)
    case IP(_: String)


    var isRight: Bool {
        var predicateStr:String!
        var currObject:String!
        switch self {
        case let .email(str):
            predicateStr = "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$"
            currObject = str
        case let .phoneNum(str):
            predicateStr = "^((13[0-9])|(15[^4,\\D]) |(17[0,0-9])|(18[0,0-9]))\\d{8}$"
            currObject = str
        case let .carNum(str):
            predicateStr = "^[A-Za-z]{1}[A-Za-z_0-9]{5}$"
            currObject = str
        case let .username(str):
            predicateStr = "^[A-Za-z0-9]{6,20}+$"
            currObject = str
        case let .password(str):
            predicateStr = "^[a-zA-Z0-9]{6,20}+$"
            currObject = str
        case let .nickname(str):
            predicateStr = "^[\\u4e00-\\u9fa5]{4,8}$"
            currObject = str
        case let .URL(str):
            predicateStr = "^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$"
            currObject = str
        case let .IP(str):
            predicateStr = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
            currObject = str
        }

        let predicate =  NSPredicate(format: "SELF MATCHES %@" ,predicateStr)
        return predicate.evaluateWithObject(currObject)
    }
}

使用:

Validate.email("blog@@csdn.com").isRight //false

Validate.URL("https://www.baidu.com").isRight //true

Validate.IP("114.114.114.114").isRight //true
Cadence Virtuoso IC617:从零构建传输门与反相器的Schematic设计实战 本文详细介绍了使用Cadence Virtuoso IC617进行传输门与反相器Schematic设计的完整流程,包括环境准备、原理图绘制、Symbol创建、仿真验证及实用技巧。通过分步指导和实战经验分享,帮助初学者快速掌握集成电路设计基础,提升EDA工具应用能力。 阅读详情

相关推荐

别再死磕NFP了!用Python+遗传算法搞定异形件自动排版(附完整代码)

本文介绍了如何利用Python和遗传算法实现异形件智能排版,解决传统NFP方法计算复杂的问题。通过Shapely库处理几何运算和DEAP库搭建遗传算法框架,结合模拟退火策略避免局部最优,显著提升材料利用率。附完整代码和优化技巧,适用于服装裁剪、金属加工等行业。

weixin_26965807的博客 235

swift 手机号、邮箱、网址等正则表达式验证

看到一个不错的swift的 手机号、邮箱、网址等正则表达式验证,分享给大家。 import Foundation enum Validate { case email(_: String) case phoneNum(_: String) case carNum(_: String) case username(_: String) case passw

Welcome to Yubao Liu's Blogs Page 4112

深入解析HAL_UART_Receive_IT:如何高效配置串口中断接收

本文深入解析了STM32 HAL库中`HAL_UART_Receive_IT`函数的工作原理与高效配置方法。该函数并非直接接收数据,而是作为中断接收的启动器和配置器,通过开启相关中断,由`UART_Receive_IT`在后台完成数据搬运。文章详细对比了中断与轮询模式的区别,并提供了不定长数据接收的完整实战流程、常见问题避坑指南及高级应用技巧,帮助开发者构建稳定高效的串口通信。

weixin_29162439的博客 634

swift语言使用正则表达式验证字符串是否为邮箱,手机号,身份证号

最近用到邮箱验证功能,在网上找了下没有找到合适的swift语言写的邮箱验证,于是就写了个swift语言版的邮箱验证,简单易用。

qq_24689191的博客 3397

Lattice FPGA 开发工具Diamond使用流程总结——工具使用

本文介绍了一般的Diamond开发流程,包括工程创建、文件输入、IP使用、约束、管脚分配、和布线布局等流程

weixin_41895751的博客 2万+

LABVIEW学习之MODBUS-TCP通讯

LABVIEW学习之MODBUS-TCP通讯 1,MODBUS-TCP通讯介绍: MODBUS通讯是工业上面经常用到的一种通讯协议。该协议的原理及介绍不在此累述,下面直接介绍LABVIEW对此协议的应用。 2,MODBUS通讯所需的函数: 安装了DSC模块之后可以在数据通信内找到相关函数 3 ,主VI 主要思路就是使用状态机来进行连接 读取 写入 断开。使用枚举类型来选择状态: 1,连接 2,写入多个M继电器: 3,写入单个M继电器 4,写入双字节D...

风动9527的博客 2万+

java中对于邮箱和手机号的校验

/** * 对手机号与邮箱的简单校验 * @author 闵渭凯 2018年5月9日 */ public class checkUtil { /** * 邮箱校验 * * @param email * @return */ public static boolean isEmail(String email) { try { // 正常邮箱 //...

影落离风 3748

电力抄表协议DL/T645和698.45到底有啥区别?一张图帮你选对协议

本文深入对比了电力抄表协议DL/T645和DL/T698.45的技术差异,从协议架构、报文结构、功能覆盖到实施成本进行全面分析。通过实际案例和数据,揭示698.45协议在通信效率、业务扩展性和长期成本上的优势,并提供清晰的选型决策流程图,帮助工程师根据具体需求选择最适合的电力抄表协议。

weixin_38168696的博客 401

YouTube AI内容披露漏洞:技术盲区如何威胁数字信任体系

在数字内容生态中,AI生成内容检测与透明度标识是维护信息真实性的关键技术基础。其原理在于通过算法识别合成特征或依赖元数据溯源,旨在建立创作者与观众间的信任契约。从技术价值看,健全的披露体系能遏制虚假信息传播,保障内容生态健康。然而,当前技术面临核心挑战:对混合创作流程中的AI辅助环节难以量化检测,且行业标准尚未统一。这导致在视频创作、新闻媒体等应用场景中,平台规则存在模糊地带,易被绕过。本文聚焦YouTube平台因规则设计缺陷暴露的AI内容披露漏洞,揭示其如何因无法有效识别‘部分AI生成’内容,引发信任危机

weixin_30301449的博客 415

机器学习面试笔试求职必背!八股文(1/5)

算法工程师,技术软件类求职机器学习必背八股文 更多算法/业务/HR面等笔试题面试题 —— >个性签名自取! 1. 特征工程: 1.1 为什么要对特征做归一化处理: Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术。特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[ 1000 , 10000 ] [1000, 10000][1000,10000],另一个特征的变化范围可能是[ −.

大厂offer宝典 1万+

【AI理论学习】深入理解扩散模型:Diffusion Models(DDPM)(理论篇)

继OpenAI在2021提出的文本转图像模型之后,越来越多的大公司卷入这个方向,例如谷歌相继推出了和。一些主流的文本转图像模型,例如,和采用了扩散模型()作为图像生成模型,这也引发了对扩散模型的研究热潮。与GAN相比,扩散模型训练更稳定,而且能够生成更多样的样本,OpenAI的论文也证明了

小哲的博客 5212

[Swift]常用正则表达式

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/stren...

weixin_30876945的博客 176

国科大学习资料--图像处理(彭思龙、杨戈)--2020年期末考试题解析(学长整理分析)

在对20年卷子分析前,先看看19年卷子的解析(后面有20年的变化,由于从核心课调整到了普及课,20年的卷子相对简单,但是还是有很多细节) 解析:(字写的不好别嫌弃!!!!) 20年的卷子 第一题:和19年基本一致,但是加了高斯核计算费用,要算一个节省计算成本比率,所以去多看看PPT 第二题:和19年基本一致,加了证明两个高斯卷积仍然是高斯卷积,相当于19年题2和3结合 第三题:采样定理,和19年基本一致,但要注意加了证明 第四题:考了形态学提取图像边界 第五题:直方图,和19年一

无名何许人的博客 4364

常用正则表达式汇总

一、校验数字的表达式 数字:^[0-9]$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9])$ 非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})$ 正数、负数、和小数:^(-|+)?\d+(....

whoops_giggle的博客 218

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

iOS--正则表达式

一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.

一只小菜鸟 634

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

UILabel点击调用电话以及邮箱,UILabel超链接效果 NSMutableAttributedString文本样式设置

UILabel常用效果,通过NSMutableAttributedString下划线效果,

u012661893的专栏 4636

SWIFT中正则表达式验证邮箱

在playground内写入以下代码,正则关键字跟其它语言的没什么区别 class Regex { let internalExpression:NSRegularExpression let pattern:String init(pattern:String) { self.pattern = pa...

weixin_34116110的博客 300

Swift语言的正则表达式

正则表达式是处理字符串的重要工具,而Swift语言为我们提供了强大的支持,使得我们能够方便地在应用程序中使用正则表达式。本文介绍了正则表达式的基础知识,以及在Swift中创建、使用和操作正则表达式的各种方法。我们还通过若干示例展示了如何将正则表达式应用于实际问题中。希望通过这篇文章,读者能够对Swift中的正则表达式有一个全面的了解,并能够在自己的项目中灵活应用。

2501_90770591的博客 986

swift 邮箱、密码、手机号、身份证验证正则

/验证邮箱 class func validateEmail(email: String) -> Bool { if email.count == 0 { return false } let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2...

星宇大前端 3279

Swift5.0 用正则表达式检测文本中的网页链接

获取方法如下: import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { let content

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 947

关于最新手机号码验证的正则表达式(oc及swift)

由于三大运营商已经增加了新的手机号码字段,为了能够正确验证手机号码的正确性,我们必须将正则表达式更新后放入项目中。 OC:- (BOOL)isMobileNumber:(NSString *)mobileNum { if (mobileNum.length != 11) { return NO; } /** * 手机号码: * 1

timtian008的博客 6041

iOS 判断网址、链接地址、url地址是否可用

//思路:传入一个请求的URL,进行网络请求,如果返回失败信息则说明此URL不可用 //1.首先进行第一步判断传入的字符串是否符合HTTP路径的语法规则,即”HTTPS://” 或 “HTTP://” ,从封装的一个函数,传入即可判断 - (NSURL *)smartURLForString:(NSString *)str { NSURL * result; NS...

1万+

Swift - 正则表达式的几种使用方式

Swift虽然是一个新出的语言,但却不提供专门的处理正则的语法和类。所以我们只能使用古老的NSRegularExpression类进行正则匹配。 即先接受一个正则表达式的字符串,由此生成NSRegularExpression对象,再用该对象来匹配输入字符串,返回匹配结果。1,为便于使用,定义一个正则匹配工具类(内部封装使用NSRegularExpression) 代码如下import Found

u014063717的博客 8907

swift 常用的正则表达式,校验方式

//MARK: - 验证是否是纯数字    func isNumber() -&gt; Bool {        let pattern = "^[0-9]+$"        if NSPredicate(format: "SELF MATCHES %@", pattern).evaluate(with: self) {            return true        }     ...

SugarCode的博客 4367

Swift - 使用NSDataDetector进行URL验证,及提取字符串中所有链接

要匹配字符串里的URL链接地址,我们可以使用 NSRegularExpression 进行正则匹配,具体用法可以看我原来写的这篇文章:Swift - 正则表达式的使用(附用户名、邮箱、URL等常用格式验证) 但使用 NSRegularExpression 由于需要自己写正则表达式,略显麻烦。我们还有个更简单的寻找数据的解决方案:NSDataDetector。 1,NSDataD

mo_xiao_mo的博客 3025
上一篇: 解决Chrome浏览器无法加载flash插件的问题
下一篇: SearchView 修改字体颜色和Hint颜色
YLBF_DEV
博客等级 码龄12年 30粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值