`

swift -> 常用正则表达式--判断输入类型

 
阅读更多

 

转自 :  http://blog.csdn.net/h643342713/article/details/54292935

 

//只能为中文
func onlyInputChineseCharacters(_ string: String) -> Bool {
    var inputString = "[\u{4e00}-\u{9fa5}]+"
    var predicate = NSPredicate(format: "SELF MATCHES %@", inputString)
    var Chinese = predicate.evaluate(withObject: string)
    return Chinese
}

//只能为数字
func onlyInputTheNumber(_ string: String) -> Bool {
    var numString = "[0-9]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", numString)
    var number = predicate.evaluate(withObject: string)
    return number
}

//只能为小写
func onlyInputLowercaseLetter(_ string: String) -> Bool {
    var regex = "[a-z]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var letter = predicate.evaluate(withObject: string)
    return letter
}

//只能为大写
func onlyInputACapital(_ string: String) -> Bool {
    var regex = "[A-Z]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var capital = predicate.evaluate(withObject: string)
    return capital
}

//允许大小写
func inputCapitalAndLowercaseLetter(_ string: String) -> Bool {
    var regex = "[a-zA-Z]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

//允许大小写或数字(不限字数)
func inputLettersOrNumbers(_ string: String) -> Bool {
    var regex = "[a-zA-Z0-9]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

//允许大小写或数字(限字数)
func inputNumberOrLetters(_ name: String) -> Bool {
    var userNameRegex = "^[A-Za-z0-9]{6,20}+$"
    var userNamePredicate = NSPredicate(format: "SELF MATCHES %@", userNameRegex)
    var inputString = userNamePredicate.evaluate(withObject: name)
    return inputString
}

//允许汉字,大小写或数字(限字数)
func inputChineseOrLettersNumberslimit(_ string: String) -> Bool {
    var regex = "[\u{4e00}-\u{9fa5}]+[A-Za-z0-9]{6,20}+$"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

//允许汉字或数字(不限字数)
func inputChineseOrNumbers(_ string: String) -> Bool {
    var regex = "[\u{4e00}-\u{9fa5}]+[0-9]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

//允许汉字或数字(限字数)
func inputChineseOrNumbersLimit(_ string: String) -> Bool {
    var regex = "[\u{4e00}-\u{9fa5}][0-9]{6,20}+$"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

//允许汉字,大小写或数字(不限字数)
func inputChineseOrLettersAndNumbersNum(_ string: String) -> Bool {
    var regex = "[\u{4e00}-\u{9fa5}]+[A-Za-z0-9]*"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

//允许汉字,大小写或数字(限字数)
func inputChineseOrLettersNumberslimit(_ string: String) -> Bool {
    var regex = "[\u{4e00}-\u{9fa5}]+[A-Za-z0-9]{6,20}+$"
    var predicate = NSPredicate(format: "SELF MATCHES %@", regex)
    var inputString = predicate.evaluate(withObject: string)
    return inputString
}

 

分享到:
评论

相关推荐

    swift-swift写的一些正则表达式

    在"swift-swift写的一些正则表达式"项目中,我们可以看到如何在Swift中使用正则表达式进行各种操作。以下是关于Swift正则表达式的一些关键知识点: 1. **创建正则表达式对象**: - 使用`NSRegularExpression...

    swift-RegexSwift正则表达式工具

    7. **安全性**:`RegexSwift`库通过Swift类型系统确保了安全,避免了常见的运行时错误,比如无效的正则表达式模式。 8. **性能优化**:虽然`NSRegularExpression`已经相对高效,但`RegexSwift`的API设计使得性能...

    swift-POSIXRegex-为Swift3.0提供POSIX正则表达式

    针对这种情况,"swift-POSIXRegex-为Swift3.0提供POSIX正则表达式"项目应运而生,它为Swift 3.0引入了一种更符合Swift语法习惯的方式来使用POSIX(Portable Operating System Interface)正则表达式。 POSIX正则...

    swift-一个基于Swift的正则表达式编辑器

    Swift正则表达式编辑器是一个基于Apple的Swift编程语言构建的应用程序,专为开发者和爱好者...通过这个工具,用户可以直接输入正则表达式,看到匹配结果,也可以保存和加载常用的正则表达式模式,从而提高开发效率。

    swift-LLRegex一个处理正则表达式的Swift框架

    在处理文本数据,特别是涉及正则表达式(Regular Expression)的操作时,虽然Swift标准库提供了`NSRegularExpression`类,但它并不是Swift原生支持的,使用起来相对复杂。为了解决这个问题,开发者创建了`LLRegex`...

    iOS正则表达式工具

    在iOS开发中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能通过预定义的模式匹配、查找、替换或验证字符串。本话题主要围绕iOS正则表达式的使用和相关工具进行深入探讨。 首先,理解正则表达式...

    swift-RegexSwift正则库

    1. **数据验证**:在表单输入验证时,可以使用正则表达式检查用户输入是否符合特定格式,如邮箱、电话号码或日期。 2. **文本处理**:在处理大量文本数据时,RegexSwift可以帮助提取、替换或删除特定模式的文本。 ...

    正则表达式判断手机号码

    本话题将深入探讨如何使用正则表达式来判断手机号码的合法性。 在中国,手机号码通常遵循11位数字的格式,且以1开头,具体分为三段:前三位是网络提供商代码(如139、158等),中间四位是地区代码,最后四位是用户...

    ios-运用正则表达式判断移动、联通、电信手机号码格式.zip

    在这个“ios-运用正则表达式判断移动、联通、电信手机号码格式”的项目中,主要目标是利用正则表达式来检查用户输入的手机号码是否符合中国移动、中国联通或中国电信的号码规范。 中国移动的手机号码通常以139、138...

    正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较

    例如,你可以使用`NSRegularExpression`的`predicateWithPattern:`方法创建一个谓词,然后使用`evaluateWithObject:`方法来判断字符串是否符合该正则表达式。 ```swift let regex = try! NSRegularExpression...

    Swift中使用正则表达式的一些方法

    虽然Swift标准库中没有直接支持正则表达式操作符,但可以通过扩展String类型,自定义“=~”操作符来实现正则表达式的快速匹配。自定义“=~”操作符的基本思路是扩展String类型,并定义一个接受String作为参数的函数...

    在Swift中如何使用正则表达式详解

    在Swift中,正则表达式(Regex)是一种强大的工具,用于在字符串中执行复杂的搜索和替换操作。虽然Swift语言本身并没有内置的正则表达式语法,但我们可以利用苹果的Foundation框架中的`NSRegularExpression`类来实现...

    swift-iOS平台高效转换引擎json->modelmodel->json

    WHC_Model iOS平台高效转换引擎json->model,model->json,model->Dictionary,支持模型类继承其他模型类,支持指定路径转换,不区分json的key和模型属性名称大小写,自动处理json中null。

    常用的正则表达式判断手机号邮箱等

    这里我们将深入探讨如何使用正则表达式来判断手机号和邮箱的合法性。 首先,手机号码的格式在中国大陆通常是11位数字,通常以13、14、15、16、17、18、19开头。一个简单的手机号正则表达式可以写为: ```regex ^1...

    iOS 正则表达式第三方

    正则表达式在很多场景下都至关重要,例如验证用户输入、数据清洗、格式化文本等。然而,Objective-C和Swift标准库中的正则表达式功能相对较弱,因此开发者常常会寻找第三方库来增强这方面的功能。本文将详细介绍一个...

    iOS正则表达式类库

    正则表达式类库为开发者提供了方便的接口,使得在Objective-C或Swift项目中处理字符串变得更加简单。本文将详细介绍iOS中常用的正则表达式类库以及如何使用它们。 RegexKitLite是其中一个知名的开源类库,版本4.0...

    swift-简单的NSLayoutConstraint表达式解析器用于更易读的autolayout代码

    为了解决这个问题,`swift-简单的NSLayoutConstraint表达式解析器` 提供了一种更简洁、易读的方式来编写AutoLayout约束。 这个项目的核心是一个轻量级的解析器,它可以将易于理解的表达式转换为NSLayoutConstraint...

    swift-Yahoo开源的在线obj-c->swift工具

    Yahoo为了帮助开发者更方便地进行这种迁移,开源了一个在线工具——"swift-Yahoo开源的在线obj-c->swift工具"。这个工具允许开发者直接将Objective-C代码粘贴到网页中,然后自动生成对应的Swift代码。这大大简化了...

    正则表达式PySwiftyRegex.zip

    PySwiftyRegex 是 Swift 的像 Python 的 re 模块一样简洁高效的正则表达式封装,面向 iOS/OSX,支持 Cocoapods。 示例代码: import PySwiftyRegexif let m = re.search("[Tt]his is (.*?)easy", "I ...

Global site tag (gtag.js) - Google Analytics