swift-字符串常用修正

来源:互联网 发布:淘宝怎么延迟确认收货 编辑:程序博客网 时间:2024/05/16 11:02

//是否含表情符 

func stringWithoutEmoji() -> String {

        var array = [Int]()

        var i =0

        for scalarin unicodeScalars {

            switch scalar.value {

            case

                0x00A0...0x00AF,

                0x2030...0x204F,

                0x2120...0x213F,

                0x2190...0x21AF,

                0x2310...0x329F,

                0x1F000...0x1F9CF:

                array.append(i)

            default:

                print(i)

            }

            i += 1

        }

        

        var result:String = String(stringLiteral:self)

        for indexin array {

            result.remove(at:self.index(self.startIndex, offsetBy: index))

        }

        return result

    }

    

    // 是否整形

    func isIntNumber() ->Bool {

        let rule ="^-?\\d+$"

        let pred =NSPredicate(format:"SELF MATCHES %@", rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }

    

    // 是否浮点型

    func isFloatNumber() ->Bool {

        let rule ="^(-?\\d+)(\\.\\d+)?$"

        let pred =NSPredicate(format:"SELF MATCHES %@", rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }

    

    // 纯数字

    func isNumber() ->Bool {

        let rule ="^[0-9]+$"

        let pred =NSPredicate(format:"SELF MATCHES %@", rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }

    

    // 纯字母

    func isLetter() ->Bool {

        let rule ="^[A-Za-z]+$"

        let pred =NSPredicate(format: "SELF MATCHES %@", rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }

    

    // 字母或数字:

    func isNumberOrLetter() ->Bool {

        let rule ="^[A-Za-z0-9]+$"

        let pred =NSPredicate(format: "SELF MATCHES %@", rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }

    

    // 纯汉字

    func isChiness() ->Bool {

        let rule ="[\u{4e00}-\u{9fa5}]+$"

        let pred =NSPredicate(format:"SELF MATCHES %@",rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }

    

    // 手机号

    func isPhoneNumber() ->Bool {

        let rule ="^0{0,1}(13[0-9]|15[3-9]|15[0-2]|18[0-9]|17[5-8]|14[0-9]|170|171|173)[0-9]{8}$"

        let pred =NSPredicate(format: "SELF MATCHES %@", rule)

        let isMatch = pred.evaluate(with:self)

        return isMatch

    }


原创粉丝点击