您的位置:首页 > 移动开发 > Swift

Swift 正则表达式 验证手机号、邮箱、URL等

2016-04-20 14:29 477 查看
enum ValidatedType {

    case Email

    case PhoneNumber

}

func ValidateText(validatedType type:
ValidatedType, validateString:
String) -> Bool {

    do {

        let pattern:
String

        if type
== ValidatedType.Email {

            pattern = "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$"

        }

        else {

            pattern = "^1[0-9]{10}$"

        }

        

        let regex:
NSRegularExpression =
try NSRegularExpression(pattern: pattern, options:
NSRegularExpressionOptions.CaseInsensitive)

        let matches = regex.matchesInString(validateString, options:
NSMatchingOptions.ReportProgress, range:
NSMakeRange(0, validateString.characters.count))

        return matches.count >
0

    }

    catch {

        return
false

    }

}

func EmailIsValidated(vStr:
String) -> Bool {

    return
ValidateText(validatedType:
ValidatedType.Email, validateString: vStr)

}

func PhoneNumberIsValidated(vStr:
String) -> Bool {

    return
ValidateText(validatedType:
ValidatedType.PhoneNumber, validateString: vStr)

}

其他类似的正则表达式也可以写进来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息