持续创作,加速成长!这是我参与「日新计划 6 月更文挑战」的第30天,点击查看活动详情。
在本章中,你将学会常用的正则表达式的使用方法。
前言
和Apple
官网或者app id注册网上分享的教程类文章不同,我将以实际开发角度讲述Swift
语言的一些概念和用法,swift语言方便大家更好地学习和掌握Swift
语言。
这同时也是对自己学习Swift
语言过程的知识整理。
如有错误,Swift以你为准。变量的定义
项目创建
我们新建一个PlayGround
项目,命名为SwiftRegulswift国际结算系统arExpression
。
正则表达式的定义
正则表达式,是记录文本规则的代码。
系统接收一串字符时,在业务上需要对这段字符代码进行规则判断,示例:电话号码是否合法。
用来对接收字符进行判断的规则,我们可以称之为正则表达式变量名的命名规则。
网址-正则表达式
我们使用NSPredicate
关教程英语键字构建教程视频怎么制作方法正则表达式,使用NSPredicate
可以定义模糊查询条件,我们可以通过匹配的方式判断接收的参数是否符合我们设置的条件。示例:
import UIKit
var url = "https:///user/3897092103223517"
func errorURL(url: String) -> Bool {
let currrentURL = "^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$"
let regextestURL = NSPredicate(format: "SELF MATCHES %@", currrentURL)
if regextestURL.evaluate(with: url) == false {
return false
} else {
return true
}
}
if errorURL(url: url) {
print("网址正确")
} else {
print("网址不正确")
}
上述代码中,我们定义了一个变量url
,赋值为我们的账号地址变量。
然后定义了一个errorURL
方法,接收String
类型的url
,返回一个Boapp id注册ol教程英语
的结果。
在方法内,我们定义了一个网址地址的正则表达式cswift翻译urrrentURL
,然后我们通过NSPapple idredicate
关键字对接收到的url
和currrentURL
正则表达式swift国际结算系统做匹配,如果匹配成功教程之家,则返回true
,如果不成功,则返回false
。
然后我们通过if-else
的方法验证下结果。
手机号-正则表达式
正则表达式在我们实际开发过程中用的很多。
在登录注册页面,我们常常需要对手机号进行校验,除了之前的章节中提过的方法外,我们也可以使用教程魔方正则swiftly表达式作为验证手机号正确与否的判断依据。示例:
var phoneNumber = “16666666666"
func validatedPhone(phoneStr: String) -> Bool {
let phone = phoneStr.trimmingCharacters(in: CharacterSet.whitespaces)
let regex = "^((13[0-9])|(14[5,7])|(15[^4,\D]) |(17[0,0-9])|(18[0,0-9]))\d{8}$"
let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
let result = predicate.evaluate(with: phone)
return result
}
if validatedPhone(phoneStr: phoneNumber) {
print("手机号正确")
}else {
print("手机号不正确")
}
上述代码中,我们声明了一个变量phoneNumber
,并赋值手机号的字符串。
然教程拼音后定义了一个validaapp id注册tedPhone
方法,接收手机swiftly号,然后返回结果。
这里我们使用的正则表达式regex
的规则apple官网为使用“|
”分开,我们https域名判断常用的三大运营商的手机号规则,然后apple watch我们通过N变量名SPredicate
关键字对接收到的phoneStr
和regex
正则表达式做匹配,如果匹配成功,则返回true
,如果不成功,则返回false
。
然后我们通过if-elsHTTPSe
的方法验证下结果。
密码-正则表达式
上面我们写完了手机号的校验,下面我们再看看密码的正则表达式的方法。
密码的强度,我们要求是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10
之间。示例:
var password = “"
func validatedPassword(passwordStr: String) -> Bool {
let password = passwordStr.trimmingCharacters(in: CharacterSet.whitespaces)
let regex = "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$"
let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
let result = predicate.evaluate(with: password)
return result
}
if validatedPassword(passwordStr: password) {
print("密码正确")
} else {
print("密码不正确")
}
上述代码中,我们声明了一个变量password
,并赋教程拼音值空字符串。
然后定义了一个validatedPassword
方法,接收密码,然后返回结果。
在方法内,我们定义了一个密码规则的正则表达式regex
,然后我们通过NSPredicate
关键字对接收到的passwordStr
和regex
正则表达式做匹配,如果匹配成功,则返回true
,如果不成功,则返回false
。
然后我们通过if-else
的方法验证下结果。
以上就是本章的全部内容。
快来动手试试吧!
如果本专栏swift国际结算系统对你有帮助,不妨点赞、评论、关注~