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

来源:互联网 发布:全网vip电影源码 编辑:程序博客网 时间:2024/06/05 05:44

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 {

        returnfalse

    }

}

func EmailIsValidated(vStr: String) -> Bool {

    returnValidateText(validatedType:ValidatedType.Email, validateString: vStr)

}

func PhoneNumberIsValidated(vStr:String) -> Bool {

    returnValidateText(validatedType:ValidatedType.PhoneNumber, validateString: vStr)

}


其他类似的正则表达式也可以写进来

1 0
原创粉丝点击