swift -> common regular expressions--determine input type

 

Reprinted from:   http://blog.csdn.net/h643342713/article/details/54292935

 

// only in Chinese
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
}

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

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

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

// allow case
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
}

//Allow case or numbers (unlimited characters)
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
}

//Allow case or numbers (limit number of characters)
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
}

//Allow Chinese characters, uppercase and lowercase or numbers (limited characters)
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
}

//Allow Chinese characters or numbers (unlimited characters)
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
}

//Allow Chinese characters or numbers (limited number of characters)
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
}

//Allow Chinese characters, uppercase and lowercase or numbers (unlimited characters)
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
}

//Allow Chinese characters, uppercase and lowercase or numbers (limited characters)
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
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326227669&siteId=291194637